如何查询删除oracle中表列中的非法字符,如 空格 等看不到,或其他非法字符。

表名:users 列名:user_name

请定义非法字符。或者说,合法字符都有哪些?比如,%,_这类特殊字符算不算非法字符?
字符不同,处理方式也不同,所以需要先明确定义合法字符的范围。
大致的思路是,做一个函数,输入你原来的字符串,输出清洗后的字符串(即原字符串删除了空格及其它非法字符后剩下的部分),然后update users set user_name=clean_function(user_name);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-28
直接用replace函数不就好了!
将user_name中的空间替换掉。
update users set user_name = replace(user_name ,' ','')
第2个回答  2012-11-28
delete from table_name where trim(col1)='' or col1 is null
第3个回答  2012-11-28
我试过用以下方式 (要排除有值为1个字符的情况):
update <表名> set <列名> = to_char(null) where <列名> IS NOT NULL AND Length<列名> = 1
相似回答