我用Select语句将SQL中的一个字段为DateTime类型的数据读出来可显示为:"2006-2-11 00:00:00"的字样,可以想读出来时直接为:"2006-2-11"的字样,请问在Select中语句中如何处理,谢谢

解决方案 »

  1.   

    sql:
    select convert( yourField, varchar(20), 110 ) from yourtable
      

  2.   

    or
    select convert( yourField, varchar(20), 110 ) as newField from yourtable
      

  3.   

    select convert( varchar(10), getdate(), 20 )--getdate()用你那DateTime类型的字段名代替就可以了。
      

  4.   

    不对,应为select convert( varchar(20), yourField, 110 ) from yourtable,可我又用了一下,显示为"04-10-2006",可我要"2006-4-10"样子的短日期类型的呀,请再帮忙
      

  5.   

    select CONVERT(varchar(10),  getdate(), 120) as newField from yourtable
      

  6.   

    用了select convert( varchar(10), myField,20 ),可显示为:"2006-03-20",可我要"2006-3-20"的效果
      

  7.   

    sql:
    select ( convert( varchar( 4 ),datepart( year, myField) ) + '-'+
    convert( varchar( 2 ),datepart( month, myField) ) +'-'+
    convert( varchar( 2 ),datepart( day, myField)  ) ) as newField
     from yourTable
      

  8.   

    要用120/121/126的style:
    select convert(varchar(10),getdate(),120)见[SQL Server联机丛书],查Convert.
      

  9.   

    如果不想要月份和日的第一位的0,在数据库里convert函数不会去掉的,只有手动来改:
    select convert(varchar,datepart(yy,getdate()))+'-'+convert(varchar,datepart(mm,getdate()))+'-'+convert(varchar,datepart(dd,getdate()))
    --你只要把getdate()改为你的日期字段即可。