NULL

rootstock 2003-06-29 11:54:27
我用perl做数据库的前台输入,当插入一行时,未输入的地方就被用NULL代替,本来这没有什么,但在查询时就遇到麻烦了,有NULL的地方不为空,查 某列为 ""的时候查不出来,因为 NULL 不等于 "" , 怎么办?
...全文
35 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rootstock 2003-07-02
  • 打赏
  • 举报
回复
up
rootstock 2003-06-30
  • 打赏
  • 举报
回复
我是用很多的列段的,总不能每一个输入的字段都用if then查一下吧
原来用asp的输入时,空的不输入的地方进到数据库中时也是空的,也就是说没有null字的,但是后来我对用户输入的时间格式做检查,只要一经过检查,数据库中的输入的就从空值转成NULL了,但我打印 sql 语句时,仍然是 value = ''
也就是说不做时间格式的检查时 value = '' 输入数据库是空,什么都没有
经过时间格式的检查时 value = '' 输入数据库是NULL,这种情况如果我的查询语句 where value = ''就查不出来
字段太多,不可能每一个值都检查,我只想知道,为什么经过if then语句时,输入的值就会有变化,如何防止这种变化?

pengdali 2003-06-29
  • 打赏
  • 举报
回复
select * from 表 where 列 is null
select * from 表 where 列 is not null

select * from 表 where isnull(列,'')=''
wonder01 2003-06-29
  • 打赏
  • 举报
回复
有一个办法就是设置缺省值,还有,对于null字段,不能用是否等于null或"",应该使用“is null”,来判断
CrazyFor 2003-06-29
  • 打赏
  • 举报
回复
select * from 表 where 列 is null
select * from 表 where 列 is not null
dafu71 2003-06-29
  • 打赏
  • 举报
回复
select * from 表 where isnull(列,'')=''
zjcxc 元老 2003-06-29
  • 打赏
  • 举报
回复
用isnull函数处理
select * from 表 where isnull(列,'')=''
这样,不管列值是null还是'',都被当作''处理.

你也可以在设计表时,设计列的默认值为'',这样,你不输入数据的列就不会保存为null了.

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧