select convert(varchar(10),getdate(),120)

解决方案 »

  1.   

    你想返回什么样的值呀,可以查一下convert的帮助,如果只是多了一个1,可以将字符串长度改小
      

  2.   

    select convert(varchar(10),getdate(),120)
    /*
    2006-02-20(1 row(s) affected)
    */
    可以查询帮助
    convert---〉第一个就是下面的介绍
    Without century (yy) With century (yyyy) 
    Standard 
    Input/Output** 
    - 0 or 100 (*)  Default mon dd yyyy hh:miAM (or PM) 
    1 101 USA mm/dd/yy 
    2 102 ANSI yy.mm.dd 
    3 103 British/French dd/mm/yy 
    4 104 German dd.mm.yy 
    5 105 Italian dd-mm-yy 
    6 106 - dd mon yy 
    7 107 - Mon dd, yy 
    8 108 - hh:mm:ss 
    - 9 or 109 (*)  Default + milliseconds mon dd yyyy hh:mi:ss:mmmAM (or PM) 
    10 110 USA mm-dd-yy 
    11 111 JAPAN yy/mm/dd 
    12 112 ISO yymmdd 
    - 13 or 113 (*)  Europe default + milliseconds dd mon yyyy hh:mm:ss:mmm(24h) 
    14 114 - hh:mi:ss:mmm(24h) 
    - 20 or 120 (*)  ODBC canonical yyyy-mm-dd hh:mi:ss(24h) 
    - 21 or 121 (*)  ODBC canonical (with milliseconds) yyyy-mm-dd hh:mi:ss.mmm(24h) 
    - 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(no spaces) 
    - 130* Kuwaiti dd mon yyyy hh:mi:ss:mmmAM 
    - 131* Kuwaiti dd/mm/yy hh:mi:ss:mmmAM 
      

  3.   

    把convert函数的介绍仔细看完.select convert(nvarchar(12),getdate(),120)
      

  4.   

    select convert(char(12),getdate())
    返回:
    02 20 2006 1???怎么会返回这样的子符串呢???要怎么解决呢?
    select convert(datetime,convert(char(12),getdate()))
    返回:
    從字元 (char) 字串轉換到 datetime 的語法錯誤。
    _______________________________________________________________不好意思是我没有说清楚,我有一个程序,我是没有源代码的,现在出现了從字元 (char) 字串轉換到 datetime 的語法錯誤。我查到了程序出错的sql语句,那现是这个语句:'select convert(char(12),getdate())',返回出:'02 20 2006 1'引起的,要解决这个问题只能让getdate()只能返回年月日(YYYY-MM-DD)这样的值.
    不知道各位高手有什么办法可以让getdate()返回'YYYY-MM-DD'格式的日期值
      

  5.   

    拜托,YYYY-MM-DD的格式也只有十位啊。那你这个char(12)又是什么意思啊。难不成让让后两位为空。那又何必永char。varchar不更好?这样的代码,让他重写好了。
      

  6.   

    十在是没有办法啊,有什么方法可以改变ms sql 默认的日期格式:- 0 or 100 (*)  Default mon dd yyyy hh:miAM (or PM)
      

  7.   

    select convert(datetime,convert(char(10),getdate(),120))不行吗?
      

  8.   

    set language 'simplified chinese'
      

  9.   

    不会呀,在我机子上
    select convert(char(12),getdate())
    ----------------------------------
    02 22 2006  select cast(convert(char(12),getdate()) as datetime)
    -----------------------------------
    2006-02-22 00:00:00.000转换成功呀