默认会转换:
declare @Date datetime (8) set @date='1991-1-1'

解决方案 »

  1.   

    默认会转换:
    declare @Date datetime
    set @date='1991-1-1'比较时也默认会转换:
    select datediff(day,'2001-1-1','2002-1-1') 天
    select datediff(month'2001-1-1','2002-1-1') 月
    select datediff(year,'2001-1-1','2002-1-1') 年
      

  2.   

    现在表中
    @Date 值为 '2003-7-18 18:56'
    @C_date 值为 '0307181859'
    怎么比较?
    我想让@C_date - @Date, 这个可以实现吗?
      

  3.   

    可以用between .. and select * from tableName where time_col between @C_date and convert(varchar,@Date,12)+replace(convert(varchar(5),@Date,8),':','')
      

  4.   

    必须要将数据转换为可接受的格式才能进行转换
    例如:
    declare @date varchar(10)
    set @date='0307181859'
    select convert(datetime,stuff(stuff(@date,len(@date)-3,0,' '),len(@date),0,':'),12)
      

  5.   

    cast(@varstring as datetime)
      

  6.   

    oracle里有一个to_date,不知道msql中是否有,可以找找