select cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-'+cast(day(dateadd(day,-1,getdate()) as varchar)) as datetime) 

解决方案 »

  1.   

    一般情况下,如果日期不合法,用了cast之后就会变成这样。
      

  2.   

    select cast(cast(year(getdate()) as varchar(4))+'-'+cast(month(getdate()) as varchar(2)+'-'+cast(day(dateadd(day,-1,getdate())) as varchar(2) as datetime)
      

  3.   

    year(getdate())得到的是数字,所以不转换的话,整个表达是按数字来计算的'-' 转换成数字=0
      

  4.   

    了解,我今天用vb也是这样。
    MessageBox.Show(word + " " +code)
    没想到运行是居然要把word转成double型
    而不是想象的把code转成string型
      

  5.   

    select cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-'+cast(day(dateadd(day,-1,getdate())) as varchar) as datetime)ORselect cast(convert(varchar(10),dateadd(day,-1,getdate()),120) as datetime)
      

  6.   

    select cast(cast(year(getdate()) as varchar)+'-'+cast(month(getdate()) as varchar)+'-'+cast(day(dateadd(day,-1,getdate())) as varchar) as datetime) 
      

  7.   

    GOOD GOOD STUDY 
    DAY DAY UP
      

  8.   

    select cast(cast(year(getdate()) as varchar(4))+'-'+cast(month(getdate()) as varchar(2))+'-'+cast(day(dateadd(day,-1,getdate())) as varchar(2)) as datetime)