如果我运行查询:
select startdate, count(*)
from tablename
where startdate > '2020-04-06'
它仅返回起始日期为2020年6月4日之后的值。但是表中的日期格式为YYYY-MM-DD HH:mm:ss.sss。
如果我运行getdate()或sysdatetime(),它将以正确的格式返回2020-06-16 14:29:29.157。
那么为什么查询使用YYYY-DD-MM?以及如何使它默认更改?
PS我知道我可以在查询中使用CONVERT或FORMAT,但是由于所有日期都将采用YYYY-MM-DD格式,因此我希望将其作为默认格式,而不必每次都编写额外的代码。
编辑:我正在使用Microsoft SQL Server管理Studio
EDIT2:我和一位同事核对了一下,他们也发生了同样的事情。
这取决于各种设置。您可以通过删除连字符来解决此问题:
startdate > '20200406'
在SQL Server中,此格式始终是明确的YYYYMMDD。我更喜欢带连字符的版本,因为它更标准。但是,如果您要解决此问题,我建议您使用SQL Server明确的格式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句