SQL 转换函数返回错误 241

标签 sql sql-server

我的数据库中有一个 varchar 类型的列,其值采用以下格式 Day Mon dd hh:mm:ss EDT YYYY。我需要将其转换为日期时间。

运行查询时选择 CONVERT(datetime, colname, 100) 系统返回错误代码 241。

请帮忙

最佳答案

您可以使用CAST or CONVERT为此:

declare @date varchar(50)
set @date = 'Sat May 05 12:38:00 EDT 2012'

select cast(substring(@date, 5, 6) + ' ' + right(@date, 4) + ' ' + substring(@date, 12, 8) as datetime)

或者

select cast(substring(@date, 5, 7) + right(@date, 4) + substring(@date, 11, 9) as datetime)

或者

select convert(datetime, substring(@date, 5, 7) + right(@date, 4)  + substring(@date, 11, 9))

结果:

2012-05-05 12:38:00.000

关于SQL 转换函数返回错误 241,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139705/

相关文章:

sql - 如何处理可为空的Postgres JSONB数据并将其解析为JSON

sql - 无法在 YYMMDD10 中插入日期。格式化为 SAS 表格

c# - Entity Framework 迁移模型优先

mysql - SQL 中的 IF/CASE 语句

sql - 我可以在 SQLite 中使用负 tinyint 吗?

mysql - 具有多个外键的 SQL 表

sql-server - MS Sql Datediff 函数

php - 当sql结果包含多行时,如何从中单独获取每一行?

mysql - 如何将特定数字连接到所有行的特定列的现有值

mysql - 如何使SQL脚本文件同时兼容MYSQL和MSSQL?