试试这样... declare @a datetime declare @b varchar(30) select @b='2005/1/25 上午 10:35:00' if substring(@b,11,2)='上午' begin select @a=convert(datetime,substring(@b,1,10)+substring(@b,14,8)) end else begin select @a=convert(datetime,substring(@b,1,10)+substring(@b,14,8))+'12:00:00' end select @a
数据库里不支持这种格式
最好是从程序端处理
各种语言都有时间格式处理的函数
要是做到数据里 得自己解析一下
如果只是要当前时间
可以直接传"getdate()" 或加一个默认值
declare @a datetime
declare @b varchar(30)
select @b='2005/1/25 上午 10:35:00'
if substring(@b,11,2)='上午' begin
select @a=convert(datetime,substring(@b,1,10)+substring(@b,14,8))
end
else begin
select @a=convert(datetime,substring(@b,1,10)+substring(@b,14,8))+'12:00:00'
end
select @a