要删除任何空格,您可以使用:
myValue := replace(replace(replace(replace(replace(replace(myValue, chr(32)), chr(9)), chr(10)), chr(11)), chr(12)), chr(13));
举例:删除所有空格中的表:
update myTable t
set t.myValue = replace(replace(replace(replace(replace(replace(t.myValue, chr(32)), chr(9)), chr(10)), chr(11)), chr(12)), chr(13))
where
length(t.myValue) > length(replace(replace(replace(replace(replace(replace(t.myValue, chr(32)), chr(9)), chr(10)), chr(11)), chr(12)), chr(13)));
或
update myTable t
set t.myValue = replace(replace(replace(replace(replace(replace(t.myValue, chr(32)), chr(9)), chr(10)), chr(11)), chr(12)), chr(13))
where
t.myValue like '% %'
顺便说一句,你的'TRANSLATE'将不起作用,因为你有NULL作为第三个参数。你可以使用'TRANSLATE(my_value,'A'|| CHR(9)|| CHR(10)|| CHR(11)|| CHR(12)|| CHR(13)||'','A') ' – 2011-04-01 06:12:19
你是对的,谢谢!哦,我爱甲骨文... :-P – 2011-04-01 08:28:16
删除在甲骨文的PL/SQL任何空格和表单 – 2016-05-23 13:04:00