WHERE datatable.column =''不能在实时SQL服务器上运行

时间:2014-02-20 14:21:07

标签: sql sql-server datatable

我知道如何检查列/行单元格是空的还是空的问题有很多答案,虽然他们似乎给出了正确的方法来实现这一点我只能让它在我的本地工作服务器,而不是我的实时服务器,所以想知道是否有人可以提供帮助。

问题:

编辑: .cancelled =''部分代码片段在我的本地电脑上正常工作,但无法在实时服务器上运行。注意, dateFrom 在没有 AND .... .cancelled =''部分的情况下工作正常。

WHERE (ReservationDetailsTable.dateFrom = '" + chosenDatefrom + "') AND (ReservationDetailsTable.cancelled = '')

也尝试使用

ReservationDetailsTable.cancelled IS NULL

ReservationDetailsTable.cancelled LIKE ''

DATALENGTH(ReservationDetailsTable.cancelled) = 0

无法在服务器版本上运行。我想要的只要被取消的列中没有数据就可以选择它。

我已经检查了列/行单元格中的内容,并且所有其他数据都与SQL语句匹配,我检查了列名称的拼写等。如果我在字符串中放入一个字符串,它会按单元格中的数据进行过滤和过滤'和'但不是,如果我没有。

即使我可以将数据放入数据表中然后将其删除但它不是null或实际上是空的,是否可能?

我不是SQL服务器专家,我只能编写SQL命令语句。

欢呼任何帮助。

编辑为无法添加评论..

取消数据=两者都是数据格式NVARCHAR(23)。它是存储一个字符串。已经尝试过两种日期格式03/12/14和12/03/14。谢谢所有人。

1 个答案:

答案 0 :(得分:0)

我不明白一点,我认为cancelled字段的数据类型为DATE或DATETIME,所以为什么要把条件设为''?

但是,如果你觉得这个条件还可以,你试过这个吗?

WHERE (ReservationDetailsTable.dateFrom = '" + chosenDatefrom + "')
AND (ReservationDetailsTable.cancelled is null OR ReservationDetailsTable.cancelled = '')