要刪除任何空格,您可以使用:
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