MS-SQL:例如
2007/1/2 上午 07:04:00 转 datetime 类型求最简单的方法

解决方案 »

  1.   

    declare @sdate varchar(20)
    set @sdate= '2007/1/2 07:04:00'
     
    select cast(@sdate as datetime)------------------------------------------------------ 
    2007-01-02 07:04:00.000(影響 1 個資料列)
      

  2.   

    declare @sdt varchar(100)
    set @sdt= '2007/1/2 上午 07:04:00'
    select case when charindex('上午',@sdt) > 0 then replace(@sdt,'上午','')
                when charindex('下午',@sdt) > 0 then dateadd(hh,12,replace(@sdt,'下午',''))
           end
      

  3.   

    将楼上两位合并一下:declare @sdt varchar(100)set @sdt= '2007/1/2 上午 07:04:00'
    select case when charindex('上午',@sdt) > 0 then cast(replace(@sdt,'上午','') as datetime)
                when charindex('下午',@sdt) > 0 then dateadd(hh,12,cast(replace(@sdt,'下午','') as datetime))
           endset @sdt= '2007/1/2 下午 07:04:00'
    select case when charindex('上午',@sdt) > 0 then cast(replace(@sdt,'上午','') as datetime)
                when charindex('下午',@sdt) > 0 then dateadd(hh,12,cast(replace(@sdt,'下午','') as datetime))
           end
      

  4.   


    declare @t varchar(100)
    set @t='2007/1/2 下午 07:04:00' select case 
                when charindex('上午',@t)>0 then cast( replace(@t,'上午','') as datetime)
                when charindex('下午',@t)>0 then cast( dateadd(hh,12,replace(@t,'下午','')) as datetime)
           else cast(@t as datetime) 
           end