【发布时间】:2010-11-10 10:23:19
【问题描述】:
这是在 MS SQL Server 中。
我有一个格式为 yyyy-MM-dd-hh.mm.ss.nnnnnn 的 varchar
例如:2010-09-17-20.52.31.870000
我想把它转换成日期时间...但是 MSSQL 中的 ISDATE 函数说这不是一个有效的日期并且 CONVERT 不起作用。有没有办法使用转换函数,以便我可以告诉它日期的格式?
我还想首先检查它是否是有效日期,因为 varchar 输入可能不包含任何内容,或者它可能包含无效日期。
例如,2010-xx-r7-99.53esdfd.31.870000 的无效数据...我会跳过该数据,甚至不尝试转换。
【问题讨论】:
-
'2010-09-17-20.52.31.870000' 不是有效的日期时间。您在时间部分之前有一个额外的破折号
-
我想这就是 ISDATE 无法识别它的原因,但这是给我的数据。我仔细检查了,它是时间部分之前的一个破折号。
标签: sql-server-2005 tsql