Ubuntu上MSSQL查询的空结果集

时间:2018-11-07 08:29:04

标签: sql sql-server

我在Ubuntu 18.04上使用sqlsrv的{​​{1}}模块来运行以下sql查询

PHP 7.2

在Windows上执行的同一查询从表中返回数据,但是在Ubuntu环境中运行时返回空结果集。

任何对此问题的反馈将不胜感激。

1 个答案:

答案 0 :(得分:1)

最明显的原因可能是Ubuntu上的日期格式不同。 '2018-11-01'可以解释为YYYY-MM-DD或YYYY-DD-MM。只需检查一下:

SET LANGUAGE ENGLISH;
SELECT CAST('2014-09-13' AS DATETIME);
GO
SET LANGUAGE GERMAN;
SELECT CAST('2014-09-13' AS DATETIME);--ERROR: there's no month "13"
GO

比较日期时,只需比较日期-请勿将其转换为字符串。只需使用:

WHERE '20181101' = cast(PunchDatetime as date)