千里码万里行
2018-03-07 09:51
采纳率: 20%
浏览 1.2k

oracle不能过滤空串字段!

plsql+oralce11gR2不能过滤空串字段!
图片说明

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • hhfxl2009 2018-03-07 11:17
    已采纳

    不管字段是null还是空格都可行,要用函数来实现
    where nvl(trim(phonenumber),'0')<>'0'

    打赏 评论
  • 才沐木 2018-03-07 09:54

    这个字段应该是有空格,加上 and t.phonenumber !=''试下

    打赏 评论
  • 千里码万里行 2018-03-07 10:00

    这样也可以!
    select * from t_user t where t.phonenumber is not null and t.phonenumber <> ' ';
    有更好的sql吗?

    打赏 评论
  • 千里码万里行 2018-03-07 10:01

    这样倒也可以!
    select * from t_user t where t.phonenumber not like ' %';

    打赏 评论
  • mango_love 2018-03-07 10:09

    is not null是排除列为null值的, !='' 这种方式是判断列里面没有值的
    所以按找你这里的情况应该用!=''
    当然,如果说你有些列里面有多个空格的话,那就要去空格咯

    打赏 评论
  • baibaibai_1003 2018-03-07 10:15

    != ''应该可以 ,或者is not null

    打赏 评论
  • 孤芳不自賞 2018-03-07 10:54

    你可以试一下<>"",排除。

    打赏 评论
  • 木叶小旋风 2018-03-07 12:56

    试一下这个
    select * from t_user t where t.phonenumber is not null and t.phonenumber <> ' ';

    打赏 评论
  • dffly156 2018-03-19 15:24

    is null 或者 is not null , 最好先看下 是不是 有空格

    打赏 评论
  • biubiu灰 2018-04-10 04:16

    去空格后再判断是否为空,空字符串属于非空属性

    打赏 评论

相关推荐 更多相似问题