我的值为20070807000000
我试过CONVERT(datetime,convert(char(8),20070807000000))
但我收到错误Arithmetic overflow error converting expression to data type varchar.
我能做些什么来达到日期时间?
答案 0 :(得分:0)
这应该有效:
SELECT CAST(SUBSTRING(CAST(20070807000000 as varchar(20)),1,8) as datetime)
结果:August, 07 2007 00:00:00+0000
答案 1 :(得分:0)
你能试试吗,
select
CONVERT (datetime, convert(char(8), left(ltrim(20070807000000), 8)))
结果:2007-08-07 00:00:00.000
答案 2 :(得分:0)
额外的答案。您可以为输出提供日期时间格式:
SELECT CONVERT(VARCHAR, CAST( SUBSTRING(CAST(20070807000000 AS VARCHAR),1,8) AS DATETIME ), 103)
结果:07/08/2007
SELECT CONVERT(VARCHAR, CAST( SUBSTRING(CAST(20070807000000 AS VARCHAR),1,8) AS DATETIME ), 111)
结果:2007/08/07
有关日期格式的更多信息:CAST and CONVERT (Transact-SQL)