在SQL2000中,系统可识别日期20091125,但识别不了时间185540,需要将时间转换为18:55:40这种格式.见如下示例:
--创建示例数据
declare @date char(8)
declare @time char(6)
declare @datetime datetime
set @date='20091125'
set @time='185540'
--字符串转换过程
select @datetime=@date+' '+stuff(stuff(@time,5,0,':'),3,0,':')
--看看结果
select @datetime
--结果为:
------------------------------------------------------
2009-11-25 18:55:40.000
(所影响的行数为 1 行)
你试试这个 select convert(datetime,getdate(),121)
看是不是你要的结果。
convert(datetime,'20091125')
select substring(convert(char(8),20091125),1,4)+'.'+substring(convert(char(8),20091125),5,2)+'.'+substring(convert(char(8),20091125),7,2)
+' '+substring(convert(char(6),185540),1,2)+':'+substring(convert(char(6),185540),3,2)+':'+substring(convert(char(6),185540),5,2)
或
select convert(datetime,substring(convert(char(8),20091125),1,4)+'.'+substring(convert(char(8),20091125),5,2)+'.'+substring(convert(char(8),20091125),7,2)
+' '+substring(convert(char(6),185540),1,2)+':'+substring(convert(char(6),185540),3,2)+':'+substring(convert(char(6),185540),5,2))