前些天,要导出一些数据给其他系统使用。期间就要处理一些含有空格的字段值,网上找了下,结合自己的实践,得出以下总结:
--一定找的出来
select * FROM a WHERE instr(user_name,' ')>0;
SELECT * FROM a WHERE REGEXP_LIKE(user_name, '( )+');
--不一定找的出来
SELECT * FROM a WHERE length(user_name) > length(trim(user_name));
SELECT * FROM a WHERE substr(user_name,-1)=' ';
后面的两个sql,当字段值是中间含有空格时,是找不出来的,谨慎!!