以这种格式将nvarchar转换为DateTime' 2013年5月21日上午9:45 && 39;

时间:2014-12-26 13:36:37

标签: tsql datetime

我有一个格式为May 21 2013 9:45AM的文本字段。如何将其转换为datetime?我尝试了以下

UPDATE WaterRevLienInfo
SET    LienDate = CONVERT(DATETIME, CONVERT(VARCHAR(30), LienDate), 101) 

它作为一个选择工具,像2013-05-21 09:45:00.000一样出现但不作为更新。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

通过将LienDate字段转换为varchar,然后返回datetime,您似乎是“围绕”datetime字段。我不确定这是在做什么。

但是,如果您有一个指定格式的文本值(默认情况下,SQL在表示varchar时表示DECLARE @DateText varchar(30) = 'May 21 2013 9:45AM'; UPDATE WaterRevLienInfo -- Convert the DateText string value for storage in a datetime field. SET LienDate = CONVERT(datetime, @DateText); 字段的方式),您可以直接进行转换:

UPDATE WaterRevLienInfo
SET LienDate = CONVERT(datetime, DateTextField);

这也应该适用于同一个表中的其他字段。

{{1}}

答案 1 :(得分:0)

datetime没有任何格式,只是数据。演示文稿必须关注格式。