我想替换MySQL中VARCHAR字段中的所有非数字字符,因为它是一个电话表,在导入它们时,我发现了一些不应该存在的“ Fax:xxx”或“-”字符。
我更喜欢不涉及多个REPLACE()调用的解决方案,
提前致谢
这是一个mysql函数:
delimiter //
create function IF NOT EXISTS LeaveNumber(str varchar(50)) returns varchar(50)
no sql
begin
declare verification varchar(50);
declare result varchar(50) default '';
declare character varchar(2);
declare i integer default 1;
if char_length(str) > 0 then
while(i <= char_length(str)) do
set character = substring(str,i,1);
set verification = find_in_set(character,'1,2,3,4,5,6,7,8,9,0');
if verification > 0 then
set result = concat(result,character);
end if;
set i = i + 1;
end while;
return result;
else
return '';
end if;
end //
delimiter ;
select leaveNumber('fAX:-12abcDE234'); -- RESULT: 12234
在更新查询中将其用作本机mysql函数。
问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例:
我有下面的字符串。 在上面的字符串中,我想将数字(如上例中的0和1)替换为整数。浮点值()为十进制,字符串()为字符串。 结果: 我尝试使用下面的正则表达式替换功能,但它不工作。 下面是java代码:
这应该只得到数字和返回,但不做它作为预期的!有什么建议吗?
问题内容: 我有一列包含网址(ID,网址)的列: 我想将“更新”一词更改为“新闻”。是否可以使用脚本执行此操作? 问题答案: 现在的行就像 将会 http://www.electrictoolbox.com/mysql-find-replace- text/
问题内容: 作为一个自学成才的新手,我为自己创造了一个大问题。在将数据插入数据库之前,我一直在将字符串中的撇号(’)转换为双引号(“”),而不是MySQL实际需要的反斜杠和撇号(')。 在我的表增长超过200,000行之前,我认为最好立即解决此问题。所以我做了一些研究,发现SQL REPLACE函数很棒,但是我现在很困惑。 在ASP中,我正在这样做: 如果我在SQL Workbench中查看数据库
问题内容: 在Java中,我有一个文件名字符串。在那里,我想,以取代“_”的所有非法字符,但不能,,,和 我尝试了以下代码:但这没有用! 问题答案: 除了,您需要替换所有内容。在括号内表示“不”。