SQL - 将varchar(dd / mm / yyyy hh.mm AM / PM)转换为datetime

时间:2015-09-07 07:52:02

标签: sql-server date datetime

我试图将varchar字段转换为datetime。 varchar字段中的数据类似于yyyy-mm-dd hh:mm:ss

我实际上是在尝试提取日期部分&时间部分并将它们分别转换为日期和时间。

我使用以下查询从varchar中提取日期部分并将其转换为日期。

{{1}}

我在整个八月份都有上述格式的时间戳。

但是查询以{{1}}格式给出结果,日期只转换为日期格式,直到8月12日和15日。 8月12日之后的日期为空。我知道这是因为,在case语句中它们被返回0.我怎样才能将这些值转换为日期?

将所有值转换为{{1}}的任何建议都会非常有用。

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以使用SET DATEFORMAT作为lad2025建议。

SET DATEFORMAT dmy

或者您可以在CONVERT()

中使用以下内容
DECLARE @date VARCHAR(16) = '13/08/2015 11:13';
SELECT CONVERT(DATETIME, @date, 103)

103 is the code for dd/mm/yyyy.