两个datetime的类型
 @aa,
 @bb我要用@aa的date和@bb的time拼一个新的时间,怎么弄呢急啊~~

解决方案 »

  1.   

    declare @aa datetime, @bb datetimeset @aa='2006-01-01 10:12:23'
    set @bb='2006-04-06 23:50:01'select convert(varchar(10),@aa,120) + right(convert(varchar(20),@bb,120),9)
      

  2.   

    --这样?
    declare @t1 datetime
    declare @t2 datetime
    set @t1='2006-8-9 00:00:00'
    set @t2='2006-8-9 12:50:00'
    select convert(varchar(10),@t1,120)+' '+convert(varchar(8),@t2,108)
      

  3.   

    好像不行啊,我要的是一个datetime的类型保存新的时间啊
      

  4.   

    declare @aa datetime
    declare @bb datetime
    set @aa = '2006-06-01 00:00:00'
    set @bb = '2006-01-01 12:12:12'select cast(convert(char(10),@aa,120) +' '+ right(convert(char(19),@bb,120),8) as datetime)
      

  5.   

    declare @aa datetime, @bb datetimeset @aa='2006-01-01 10:12:23'
    set @bb='2006-04-06 23:50:01'select cast(convert(varchar(10),@aa,120) + right(convert(varchar(20),@bb,120),9) as datetime)
      

  6.   

    怎么返回到一个datetime呢我select @cc = cast(convert(char(10),@aa,120) +' '+ right(convert(char(19),@bb,120),8) as datetime)
    好像不行啊
      

  7.   

    declare @aa datetime, @bb datetime, @cc datetimeset @aa='2006-01-01 10:12:23'
    set @bb='2006-04-06 23:50:01'select @cc=cast(convert(varchar(10),@aa,120) + right(convert(varchar(20),@bb,120),9) as datetime)select @cc
      

  8.   

    怎样不行啊?
    上面的不是有用cast转成datetime类型啊
      

  9.   

    好,谢谢,我再试试,应该可以了,再次感谢,sql server版的人真好
      

  10.   

    liangpei2008(我爱世界杯)的是最簡單的,不過還可以改進一下。
    Declare @t1 datetime
    Declare @t2 datetime
    Declare @t datetime
    Set @t1='2006-8-9 00:00:00'
    Set @t2='2006-8-9 12:50:00'
    Select @t=Convert(Varchar(11),@t1,120)+Convert(Varchar,@t2,108)
    Select @t另外,不需要做轉換的,只要你的字符串符合時間格式即可的。