我用select * from table where field=null查不出来

解决方案 »

  1.   

    select * from table where field is nullnull要用 is  不是null  要用  is not null
      

  2.   

    a options control this 
    default use:is null
      

  3.   

    upNULL在有些DBMS中认为是操作符,在有些中认为是常数,所以用法、语法可能个不相同,不一定是按ISO的标准定义。
    你的这段代码看是在哪个数据库中了,如果是MS SQL就用 is null。MS SQL中一个系统参数是调整NULL的属性是否使用ANSI NULL(很久没有用过了,忘了是什么,不过你用search很快能找到)
    具体关于NULL的用法有一本书讲的很好,很全面,不过名字我忘了。
      

  4.   

    另外有个想问的:如果用的是 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?
      

  5.   

    Oh my god…. 正是 NULL 这个字
    例如:
    // Get First Node
    if adotbLinkedList.Locate(‘PrevNodeID’, NULL, []) then
      NodeName = adotbLinkedList.FieldByName(‘Name’).AsString;我白瞎忙,测了 nil, varNULL 都不行,结果是 NULL 就这么简单