教您如何实现SQL Server日期转换


  本文标签:SQL Server日期转换

  SQL Server日期转换是非常基本的SQL数据库功能,下面就为您详细介绍一些SQL Server日期转换的知识,供您参考学习  。

  

  SQL Server中,Convert可以实现SQL Server日期转换,格式控制是由CONVERT (data_type[(length)], expression [, style])中的style来完成的  。下面列出了style取各种值时的效果:

在表中,左侧的两列表示将 datetimesmalldatetime 转换为字符数据的 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  。