【发布时间】:2015-09-12 14:02:22
【问题描述】:
帮助。我有一些记录以不同的方式插入到 DATETIME 列中。当我的 sproc 执行时,我收到此错误:“从字符串转换日期和/或时间时转换失败。”。有什么方法可以将错误的日期时间转换为正常的默认 DATETIME 格式?
;with t1 as
(
select
s1.SheetID as SheetID,
s1.RowNUmber as RowNumber,
(select max(RowNumber) from PRP_SmartSheetA where SheetID=s1.SheetID and RowNumber<s1.RowNumber) as LastRowNumber
from
PRP_SmartSheetA s1
)
update
s1
set
s1.PRP_PreviousRowFinishDate= s2.Finish
from
t1
inner join PRP_SmartSheetA s1
on t1.SheetID=s1.SheetID
and t1.RowNUmber=s1.RowNumber
inner join PRP_SmartSheetA s2
on t1.SheetID=s2.SheetID
and t1.LastRowNumber=s2.RowNumber
【问题讨论】:
-
数据时间列没有格式。日期时间数据以二进制结构存储。用于显示目的的值的格式化由表示层完成。也许
PRP_PreviousRowFinishDate或Finish是varchar 而不是datetime。 -
您好,如果我的回答对您有帮助,请点赞和/或标记为已接受,谢谢!
标签: sql sql-server datetime sql-update