我在Ubuntu 18.04上使用sqlsrv
的{{1}}模块来运行以下sql查询
PHP 7.2
在Windows上执行的同一查询从表中返回数据,但是在Ubuntu环境中运行时返回空结果集。
任何对此问题的反馈将不胜感激。
答案 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)