SQL Query 中用于查找空记录的查询问题
Posted
技术标签:
【中文标题】SQL Query 中用于查找空记录的查询问题【英文标题】:query issue in SQL Query for finding empty records 【发布时间】:2012-12-05 11:25:30 【问题描述】:我在SQL
有一个查询,我需要在其中添加一个条件,以查找所有具有空字段的记录。
这给了我一个错误..
SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE SMS_MONTIME.IDTICKET ==''
谢谢
【问题讨论】:
将 =='' 更改为 ='' 只需一个 '=' 符号,或使用此处说明的 datalength 函数:***.com/a/33425/752527 【参考方案1】:在查询中只使用=
来检查不是==
和检查空值使用is null
SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE SMS_MONTIME.IDTICKET ='' or SMS_MONTIME.IDTICKET is null
【讨论】:
谢谢你的工作,我现在怎么能找到不为空的值?is not null
可能是空值,!=
可能是非空值
谢谢你的回答 :) 我会在几分钟内接受它!【参考方案2】:
试试这个
"SELECT
forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN
SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET WHERE SMS_MONTIME.IDTICKET =''"
或者试试这个
WHERE SMS_MONTIME.IDTICKET is null
非空使用
WHERE SMS_MONTIME.IDTICKET is not null
【讨论】:
【参考方案3】:检查一个空字段,即NULL
字段不能使用=
。
你必须使用IS NULL
你的查询应该是这样的
SELECT forma.*, SMS_MONTIME.IDTICKET, SMS_MONTIME.MBYLLUR,SMS_MONTIME.time_added
FROM forma
LEFT JOIN SMS_MONTIME ON forma.ID = SMS_MONTIME.IDTICKET
WHERE SMS_MONTIME.IDTICKET IS NULL
【讨论】:
【参考方案4】:试试这个:
...
WHERE SMS_MONTIME.IDTICKET = '' OR SMS_MONTIME.IDTICKET IS NULL
问题是,“空白”是什么意思:'' 或 null 或更常见的是两者都有
另外,使用=
而不是==
(我从未真正尝试过==
,但我也从未见过其他人,所以它不会很好)
【讨论】:
以上是关于SQL Query 中用于查找空记录的查询问题的主要内容,如果未能解决你的问题,请参考以下文章