在更新策略中将列转换为日期时间

时间:2018-01-25 11:59:49

标签: sql datetime casting dateadd

我需要将Idx20列格式转换为yyyy/mm/dd hh:mm:ss.mmm格式的日期时间。

请帮助我尝试使用Cast,但它没有用。

UPDATE SMS
SET 
SMS.Idx15 = DEL.Idx4,
SMS.Idx16 = DEL.Idx5,
SMS.Idx20 = DATEADD(HH,-1, DEL.Idx7)
FROM idmsSMSOutBox SMS
INNER JOIN idmsSMSDelivery DEL
ON RIGHT(SMS.Idx3,8) = DEL.Idx3
WHERE 
SMS.Idx15 = 'Delivering'

1 个答案:

答案 0 :(得分:0)

正如您提到的那样,您尝试更改日期时间格式的列,您应该首先使用ALTER命令进行此更改。

因此,每次最佳解决方案是将其数据类型设置为日期时间时,不要转换它。

ALTER TABLE  `table_name` CHANGE  `From Date`  `From Date` DATETIME NULL DEFAULT '0000-00-00 00:00:00';