首页 > 解决方案 > T-SQL CONVERT datetime to varchar using style 20 vs 120

问题描述

我认为vs的风格翻译没有区别。从我读过的内容来看,似乎应该没有区别。20120

根据CAST 和 CONVERT 文档,请注意:

默认值(0 或 100、9 或 109、13 或 113、20 或 120 以及 21 或 121)始终返回世纪 (yyyy)。

如您所见,它们确实返回了相同的结果:

SELECT CONVERT(VARCHAR(10), GETDATE(), 20) AS 'exampleOne'
SELECT CONVERT(VARCHAR(10), GETDATE(), 120) AS 'exampleTwo'

在此处输入图像描述


为什么有两种风格翻译选项,我应该使用哪一种?如果它是完全可选的(用户偏好)也是一个很好的答案,我只是好奇,因为我已经看到我们的代码中使用了这两个实例,我想知道附加样式值背后的原因是什么。在文档中,您可以看到在少数情况下,可选样式参数可以使用多个值。

标签: sql-servertsql

解决方案


正如您已经从文档中阅读的那样:没有区别。我认为 MS 提供了两个可能的值,只是因为在所有其他情况下,也可能有两个值(x 和 100+x)。


推荐阅读