SQL Server 2012:CONVERT Char to Timestamp返回无效年份

时间:2016-03-18 02:26:11

标签: php sql sql-server sql-server-2012

我安装了2个 Microsoft SQL Server 2012 的客户端。

当我运行此查询时:

SELECT StartTime
FROM RecordLog
WHERE CONVERT(timestamp, StartTime) >= CONVERT(timestamp, '03/11/2016 18:00:00') 
AND CONVERT(timestamp, StartTime) <= CONVERT(timestamp, '03/19/2016 05:59:59')  
ORDER BY id ASC

第一个客户返回正确的数据 但是第二个客户在不同年份返回正确月份和日期的数据。

1 个答案:

答案 0 :(得分:2)

首先,如果A是日期时间,您可以使用适当的字符串文字进行比较:

class A:
    pass

def a(self) -> A:
    pass

A.a = a
del a

对于常量的显式转换不是必需的。当然,如果它们让你感觉更好,你可以使用它们。 (并且,“T”可以是空格,但“T”是ISO 8601标准的一部分。)