删除撇号之间的空格

时间:2014-11-10 19:23:23

标签: sql oracle whitespace oracle-sqldeveloper

我有大约2900条记录要做。

我不希望'null'之间有空格;

我的问题:

UPDATE  route_table_ex
SET     msg_type = ' null '
WHERE   queue_name = ' DMGGCA5GOPAMSDXMLMSG ';

预期产出:

UPDATE  route_table_ex
SET     msg_type = 'null'
WHERE   queue_name = 'DMGGCA5GOPAMSDXMLMSG';

4 个答案:

答案 0 :(得分:0)

UPDATE route_table_ex SET msg_type = LTRIM(RTRIM('null'))WHERE queue_name ='DMGGCA5GOPAMSDXMLMSG';

答案 1 :(得分:0)

要删除" null"周围的空格,请运行:

UPDATE  route_table_ex
SET     msg_type = LTRIM(RTRIM(msg_type))
WHERE   queue_name = ' DMGGCA5GOPAMSDXMLMSG ';

我不确定您对WHERE子句的要求。

如果你想从两列中删除所有这些空格,也许这就是你想要的:

UPDATE  route_table_ex
SET     msg_type = LTRIM(RTRIM(msg_type)),
        queue_name = LTRIM(RTRIM(queue_name))

答案 2 :(得分:0)

按CTRL + H(或转到搜索/替换),搜索空格+撇号('),替换为撇号('),单击“全部替换”一次或两次,直到它告诉您0次出现被替换。然后搜索撇号+空格('),也用撇号(')替换并重复“全部替换”过程。

答案 3 :(得分:0)

请确认,这些是(单)普通空白。

如果字符串真的只是阅读null,请尝试

UPDATE  route_table_ex
SET     msg_type = 'null'
WHERE   queue_name LIKE '%DMGGCA5GOPAMSDXMLMSG%';

否则沿着

UPDATE  route_table_ex
SET     msg_type = REGEXP_REPLACE(msg_type, '[^a-z0-9]', '', 1, 0, 'i')
WHERE   queue_name LIKE '%DMGGCA5GOPAMSDXMLMSG%';

在合适的编辑器中(Notepad ++实际应该这样做。)尝试正则表达式来修复数据,例如,搜索'.*?null.*?'并用'null'或更灵活的'.*?([a-zA-Z0-9]+).*?'替换为{{1 }}