sql日期转换

CONVERT  
  将某种数据类型的表达式显式转换为另一种数据类型。  
  CONVERT   (data_type[(length)],   expression   [,   style])  
   
  style这个参数表示  
        日期格式样式,借以将   datetime   或   smalldatetime   数据转换为字符数据(nchar、nvarchar、char、varchar、nchar   或   nvarchar   数据类型);或者字符串格式样式,借以将   float、real、money   或   smallmoney   数据转换为字符数据(nchar、nvarchar、char、varchar、nchar   或   nvarchar   数据类型)。  
   
  SQL   Server   支持使用科威特算法的阿拉伯样式中的数据格式。  
   
  在表中,左侧的两列表示将   datetime   或   smalldatetime   转换为字符数据的   style   值。给   style   值加   100,可获得包括世纪数位的四位年份   (yyyy)。  
   
  不带世纪数位   (yy)   带世纪数位   (yyyy)    
  标准    
  输入/输出**    
  -     0   或   100   (*)   默认值                                 mon   dd   yyyy   hh:miAM(或   PM)    
  1     101                     美国                                     mm/dd/yyyy    
  2     102                     ANSI                                     yy.mm.dd    
  3     103                     英国/法国                           dd/mm/yy    
  4     104                     德国                                     dd.mm.yy    
  5     105                     意大利                                 dd-mm-yy    
  6     106                     -                                           dd   mon   yy    
  7     107                     -                                           mon   dd,   yy    
  8     108                     -                                           hh:mm:ss    
        -   9   或   109   (*)     默认值   +   毫秒             mon   dd   yyyy   hh:mi:ss:mmmAM(或   PM)    
  10   110                     美国                                     mm-dd-yy    
  11   111                     日本                                     yy/mm/dd    
  12   112                     ISO                                       yymmdd    
        -   13   或   113   (*)     欧洲默认值   +   毫秒   dd   mon   yyyy   hh:mm:ss:mmm(24h)    
  14   114                     -                                           hh:mi:ss:mmm(24h)    
        -   20   或   120   (*)     ODBC   规范                   yyyy-mm-dd   hh:mm:ss[.fff]    
        -   21   或   121   (*)     ODBC   规范(带毫秒)   yyyy-mm-dd   hh:mm:ss[.fff]    
        -   126(***)       ISO8601                               yyyy-mm-dd   Thh:mm:ss:mmm(不含空格)    
        -   130*               科威特                                 dd   mon   yyyy   hh:mi:ss:mmmAM    
        -   131*               科威特                                 dd/mm/yy   hh:mi:ss:mmmAM    
   
  *         默认值(style   0   或   100、9   或   109、13   或   113、20   或   120、21   或   121)始终返回世纪数位   (yyyy)。  
   
  所以直接用convert(varchar(10),'2005-11-18   16:28:00',120)就行

原文地址:https://www.cnblogs.com/ret00100/p/1731551.html