sql - 使用 'yyyymmdd' 格式将 Varchar 转换为 Datetime

标签 sql sql-server-2008 date

我正在处理日期处理程序。来自文件的日期格式为“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/

相关文章:

jquery - 在单页应用程序中显示通过 JSON 发送的日期

sql - ms sql server中的SELECT语句循环

mysql - 运行时错误 3001 'Arguments are of the wrong type or out of acceptable range…' 插入 MySQL 数据库

java - Web 应用的更新中心和数据库变更管理

mysql - 如何在选择或表格的每一行中执行过程

sql-server-2008 - 还没有Microsoft.SqlServer.ManagedDTS.dll,但是

sql-server - USE数据库切换后的GOTO标签

sql - 如何在SQL Server 2008中将数据转换为json格式?

java - 在线计算器或准确的公式来计算自 1970 年到给定日期的毫秒数?

sql - 本周的记录数