【发布时间】:2018-02-08 08:14:29
【问题描述】:
在 SQL Server 2016 中:
Convert & Format 回历日期给出不同的结果。
Format 函数的输出是正确的。
Declare @Date Datetime = '02/08/2018'
Select CONVERT(nchar, @Date, 131) -- outputs 23/05/1439 12:00:00:000AM
SELECT FORMAT ( @Date, 'dd/MM/yyyy', 'ar-SA' ) -- outputs 22/05/1439
我有两个问题:
1) 为什么会有这种差异?
2) 如何在 SQL Server 2008 R2 中使用Format。有什么选择吗?
【问题讨论】:
-
尝试使用语言中立的格式,例如
yyyyMMdd。例如@Date = '20180802' -
@GuidoG 结果还是一样。使用iso格式yyyyMMdd。
标签: sql-server sql-server-2008-r2 sql-server-2016 date-formatting hijri