我正在处理日期处理程序。来自文件的日期格式为“yyyymmdd”,需要转换为 DATETIME 数据类型,以便与内置日期函数(例如 dateadd 或 datepart)一起使用。
CONVERT(DATETIME,datestring) - 引发错误“将表达式转换为数据类型日期时间时出现算术溢出错误。”
我曾考虑过将字符串拆分为单独的部分,然后将它们重新组合以形成有效的日期时间戳记,但希望避免这种情况。
还有其他方法可以将此 varchar 格式转换为日期或日期时间吗?
最佳答案
根据您的错误,您的datestring
可能会存储为int
。您可以将其转换为字符串,然后将其转换为 datetime
类型,如下所示:
尝试:
convert(datetime,convert(char(8),datestring))
或
convert(datetime2(2),convert(char(8),datestring))
引用:
关于sql - 使用 'yyyymmdd' 格式将 Varchar 转换为 Datetime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44808013/