SQL server cast () 字符串转换成时间的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL server cast () 字符串转换成时间的问题相关的知识,希望对你有一定的参考价值。
SQL server 中cast()函数, 把字符串
'20091014191338'
转换成时间的时候:
select cast('20091014191338' as datetime)
报错:
Error: com.microsoft.sqlserver.jdbc.SQLServerException: Syntax error converting datetime from character string., SQL State: S0001, Error Code: 241
请问如何解决呢? 谢谢~!
先转换成 20091014 19:13:38 的形式,再cast
select cast(stuff(stuff(stuff('20091014191338',9,0,' ' ),12,0,':'),15,0,':') as datetime)本回答被提问者采纳 参考技术B DECLARE @SDate char(14),@YMD CHAR(10),@H CHAR(2),@M CHAR(2),@S CHAR(2)
SET @SDate='20091014191338'
SELECT @YMD = CONVERT(CHAR(10),CONVERT(Datetime,SUBSTRING(@SDate,1,8)),121),
@H = SUBSTRING(@SDate,9,2),
@M = SUBSTRING(@SDate,11,2),
@S = SUBSTRING(@SDate,13,2)
SELECT @YMD+' '+@H+':'+@M+':'+@S, --年月日+小时+分+秒
CONVERT(Datetime,@YMD+' '+@H+':'+@M+':'+@S) 参考技术C 好像不能直接转吧~~
拆分你的字符串:
SELECT CONVERT(char(10),CAST( LEFT('20091014191338',8) AS datetime ),121) + ' '+SUBSTRING('20091014191338',9,2) + ':'+RIGHT('20091014191338',2) + ':00.000' 参考技术D select convert(datetime,'2009.10.14 19:13:38') 第5个回答 2009-11-02 使用convert函数
以上是关于SQL server cast () 字符串转换成时间的问题的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER中强制类型转换cast和convert的区别