【发布时间】:2019-08-26 08:04:22
【问题描述】:
我想知道通过这种转换,我是否 100% 确定 my_date 列的时间将被正确转换,一般来说,整个日期在转换后看起来是正确的。
日期总是会从dd-mm-yyyy HH:mm:ss格式正确转换为yyyy-mm-dd HH:mm:ss格式?
这种情况下最好的转换是什么?
以下是所描述问题的示例:
DECLARE @tmp TABLE (my_date VARCHAR(20))
INSERT INTO @tmp VALUES ('25-02-2019 19:30:12')
INSERT INTO @tmp VALUES ('01-03-2019 09:30:11')
INSERT INTO @tmp VALUES ('22-02-2018 19:42:12')
INSERT INTO @tmp VALUES ('01-11-2019 19:30:17')
SELECT CONVERT (DATETIME, my_date, 105) FROM @tmp
【问题讨论】:
-
105 是意大利 (
'dd-MM-yyyy') 样式代码,所以如果这是您的varcahr的格式,是的,它始终有效。 Date and Time Styles -
@Larnu 但是105没时间了
-
我认为有人没有测试过,@KillerQueen。 :)
-
@Larnu 我测试了它并且它有效,但请阅读问题
100% certainty,the best solution -
是的,因为这就是样式 105 的用途,日期格式为
yyyy-MM-dd。这就是文档告诉你的。如果您认为文档有误,那么 Stack Overflow 就不是这个地方,您应该在 mssql-docs github 上提出问题。
标签: sql sql-server type-conversion