怎么查询sql数据库里字段为null的记录?

fulinlin 2003-04-17 09:43:35
我用select * from table where field=null查不出来
...全文
756 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimmygump 2003-07-31
  • 打赏
  • 举报
回复
Oh my god…. 正是 NULL 这个字
例如:
// Get First Node
if adotbLinkedList.Locate(‘PrevNodeID’, NULL, []) then
NodeName = adotbLinkedList.FieldByName(‘Name’).AsString;

我白瞎忙,测了 nil, varNULL 都不行,结果是 NULL 就这么简单
jimmygump 2003-07-31
  • 打赏
  • 举报
回复
另外有个想问的:如果用的是 Table 而不是 Query,那么如何用 Locate 去找到字段值为 NULL 的记录?

function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean; override;

这第二个参数是 Variant,如何指定 NULL 值给 Variant 参数?因为我要 Locate 到第一个符合 NULL 字段值的记录。

改用 Query 下 SQL 当然是没问题的。但我不想用 Query 而用 Table配合 Locate自然是有网络效能上的一些考量。这是私人考量,不在重点,重点是:如何指定 database NULL value 给 Variant?
firetoucher 2003-04-18
  • 打赏
  • 举报
回复
up

NULL在有些DBMS中认为是操作符,在有些中认为是常数,所以用法、语法可能个不相同,不一定是按ISO的标准定义。
你的这段代码看是在哪个数据库中了,如果是MS SQL就用 is null。MS SQL中一个系统参数是调整NULL的属性是否使用ANSI NULL(很久没有用过了,忘了是什么,不过你用search很快能找到)
具体关于NULL的用法有一本书讲的很好,很全面,不过名字我忘了。
belllab 2003-04-18
  • 打赏
  • 举报
回复
a options control this
default use:is null
yu98041154 2003-04-18
  • 打赏
  • 举报
回复
is null
jeremychen001181 2003-04-17
  • 打赏
  • 举报
回复
up
ntbxm 2003-04-17
  • 打赏
  • 举报
回复
真是初学者 :)
snowtiger2000 2003-04-17
  • 打赏
  • 举报
回复
select * from table where field is null

null要用 is 不是null 要用 is not null

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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