【问题标题】:query issue in SQL Query for finding empty recordsSQL Query 中用于查找空记录的查询问题
【发布时间】: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 ==''

谢谢

【问题讨论】:

标签: sql


【解决方案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 或更常见的是两者都有

      另外,使用= 而不是==(我从未真正尝试过==,但我也从未见过其他人,所以它不会很好)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-09
        • 2011-11-01
        • 2021-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-13
        • 2021-04-07
        相关资源
        最近更新 更多