我有一列以字符串格式存储日期的列,例如(11/01 / 2010,2014-04-08,14-Oct-14)。
我想将所有这种类型的字符串日期转换为日期时间/日期格式,例如(Dec 16 2014 3:40 PM)
update #test set new_CHQ_DATE = CONVERT(varchar(20), CHQ_DATE, 105) where CHQ_DATE like '__/__/____'
update #test set new_CHQ_DATE = CONVERT(varchar(20), CHQ_DATE, 105) where CHQ_DATE like '____-__-__'
update #test set new_CHQ_DATE = CONVERT(varchar(20), CHQ_DATE, 105) where CHQ_DATE like '__-___-__'
它
尽管您的样本依赖于您提前知道人们可能输入日期的所有各种不同方式,但您的样本似乎有效。如果字符串基本上是任何NORMAL日期可识别的格式,SQL Server就可以将字符串转换为日期。此查询似乎或多或少地都获得了它们(假设CHQ_DATE是某种VARCHAR,而new_CHQ_DATE是DATETIME列):
SET DATEFORMAT dmy;
GO
UPDATE #Test
SET new_CHQ_DATE = CONVERT(VARCHAR(20), CHQ_DATE, 105)
WHERE
ISDATE(CHQ_DATE) = 1;
--reset DATEFORMAT back to whatever it was
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句