无法从特定字符串转换为datetime

时间:2015-03-26 20:49:29

标签: sql sql-server datetime

我知道有很多这类问题,我已经看到了另一个问题:Conversion failed when converting date and/or time from character string while inserting datetime

但主要的是我无法使用SQL Server使用任何格式将特定字符串转换为datetime。这就是我想要做的事情:

DECLARE @1 AS VARCHAR(500)
SET @1 = '18/03/2015 08:07:25 a.m.'

SELECT CONVERT(DATETIME, @1, 131)

这是行不通的,即使我尝试使用此处指定的多种格式:https://msdn.microsoft.com/en-us/library/ms187928.aspx

对于我尝试过的内容,如果包含日期时间的字符串是24小时格式,则只使用131格式,如下所示:

DECLARE @1 AS VARCHAR(500)
SET @1 = '18/03/2015 08:07:25'

SELECT CONVERT(DATETIME, @1, 131)

有谁知道如何根据需要将该字符串转换为日期时间?。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您没有指定@ 1格式正确,全部是

DECLARE @1 AS VARCHAR(500)
SET @1 = '18/03/2015 08:07:25 am'
SELECT CONVERT(datetime, @1,103)

有关格式化的更多信息,请参阅此网页

https://msdn.microsoft.com/en-us/library/ms187928.aspx