SQL Convert的用法

mac2022-06-30  31

CONVERT  函数  [ 数据类型转换 ] -- ------------------------------------------------------------------------------ 功能 返回转换成提供的数据类型的表达式。语法  CONVERT  ( data type, expression  [  , format-style  ]  )参数 data type    表达式将转换成的数据类型。expression    要转换的表达式。format - style    对于将字符串转换为日期或时间数据类型以及相反的转换过程,format - style 是描述要使用的日期格式字符串的样式代码。 format - style 参数的值具有下列含义:不含世纪 (yy)  含世纪 (yyyy)  输出   -    0  或  100   Mmm dd yyyy hh:nn:ss:sss AM(或 PM)   1    101   mm / dd / yy [ yy ]    2    102    [ yy ] yy.mm.dd   3    103   dd / mm / yy [ yy ]    4    104   dd.mm.yy [ yy ]    5    105   dd - mm - yy [ yy ]    6    106   dd Mmm yy [ yy ]    7    107   Mmm dd, yy [ yy ]    8    108   hh:nn:ss   -    9  或  109   Mmm dd yyyy hh:nn:ss:sssAM(或 PM)   10    110   mm - dd - yy [ yy ]    11    111    [ yy ] yy / mm / dd   12    112    [ yy ] yymmdd   13    113   dd Mmm yyy hh:nn:ss:sss( 24  小时制,欧洲缺省时间  +  毫秒, 4  位数年份)   14    114   hh:nn:ss:sss( 24  小时制)   20    120   yyyy - mm - dd hh:nn:ss:sss( 24  小时制,ODBC 规范, 4  位数年份)   21    121   yyyy - mm - dd hh:nn:ss.sss( 24  小时制,ODBC 规范加毫秒, 4  位数年份)  如果未提供 format - style 参数,则使用样式代码  0 。有关每种输出符号(如 Mmm)生成的样式的描述,请参见 DATE_FORMAT 选项  [ compatibility ] 。标准和兼容性 SQL / 92     供应商扩展。 SQL / 99     供应商扩展。 Sybase    与 Adaptive Server Enterprise 兼容。 另请参见  CAST  函数  [ 数据类型转换 ]  示例 下列语句说明了格式样式的用法: SELECT   CONVERT CHAR 20  ), order_date,  104  ) FROM  sales_orderorder_date   16.03 . 2000    20.03 . 2000    23.03 . 2000    25.03 . 2000      SELECT   CONVERT CHAR 20  ), order_date,  7  ) FROM  sales_orderorder_date  Mar  16 00   Mar  20 00   Mar  23 00   Mar  25 00     下面的语句说明了到整数的转换,并返回值  5 SELECT   CONVERT integer 5.2  )

CONVERT 将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在SQL Server中 将日期格式化.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)。 **  当转换为  datetime  时输入;当转换为字符数据时输出。 ***  专门用于 XML。对于从  datetime  或  smalldatetime  到  character  数据的转换,输出格式如表中所示。对于从  float money  或  smallmoney  到  character  数据的转换,输出等同于 style  2 。对于从  real  到  character  数据的转换,输出等同于 style  1 。 重要  默认情况下,SQL Server 根据截止年份  2049  解释两位数字的年份。即,两位数字的年份  49  被解释为  2049 ,而两位数字的年份  50  被解释为  1950 。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用  2030  作为截止年份。SQL Server 提供一个配置选项("两位数字的截止年份"),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。 当从  smalldatetime  转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从  datetime  或  smalldatetime  值进行转换时,可以通过使用适当的  char  或  varchar  数据类型长度来截断不需要的日期部分。下表显示了从  float  或  real  转换为字符数据时的 style 值。值 输出  0 (默认值) 最大为  6  位数。根据需要使用科学记数法。  1  始终为  8  位值。始终使用科学记数法。  2  始终为  16  位值。始终使用科学记数法。 在下表中,左列表示从  money  或  smallmoney  转换为字符数据时的 style 值。值 输出  0 (默认值) 小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如  4235.98 。  1  小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如  3 , 510.92 。  2  小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如  4235.9819 。  使用  CONVERT CONVERT  (data_type [ (length) ] , expression  [ , style ] ) select   CONVERT ( varchar getdate (),  120  )  2004 - 09 - 12   11 : 06 : 08   select   replace ( replace ( replace ( CONVERT ( varchar getdate (),  120  ),/ ' -/ ' ,/ ' / ' ),/ '  / ' ,/ ' / ' ),/ ' :/ ' ,/ ' / ' 20040912110608   select   CONVERT ( varchar ( 12 ) ,  getdate (),  111  )  2004 / 09 / 12   select   CONVERT ( varchar ( 12 ) ,  getdate (),  112  )  20040912   select   CONVERT ( varchar ( 12 ) ,  getdate (),  102  )  2004.09 . 12   select   CONVERT ( varchar ( 12 ) ,  getdate (),  101  )  09 / 12 / 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  103  )  12 / 09 / 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  104  )  12.09 . 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  105  )  12 - 09 - 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  106  )  12   09   2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  107  )  09   12 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  108  )  11 : 06 : 08   select   CONVERT ( varchar ( 12 ) ,  getdate (),  109  )  09   12   2004   1   select   CONVERT ( varchar ( 12 ) ,  getdate (),  110  )  09 - 12 - 2004   select   CONVERT ( varchar ( 12 ) ,  getdate (),  113  )  12   09   2004   1   select   CONVERT ( varchar ( 12 ) ,  getdate (),  114  )  11 : 06 : 08.177

转载于:https://www.cnblogs.com/deepwishly/archive/2010/05/10/2551238.html

相关资源:SQL CONVERT转化函数使用方法小结
最新回复(0)