专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »数据库 » sqlserverconvert:MS SQL Server中的CONVERT日期格式化大全 »正文

sqlserverconvert:MS SQL Server中的CONVERT日期格式化大全

来源: 发布时间:星期三, 2008年12月24日 浏览:2次 评论:0
="t18">CONVERT
将某种数据类型表达式显式转换为另种数据类型由于某些需求经常用到取日期格式区别.现以下可在
SQL Server中 将日期格式化.

SQL Server 支持使用科威特算法阿拉伯样式中数据格式

在表中左侧两列表示将 datetimesmalldatetime 转换为数据 stylestyle 值加 100可获得包括世纪数位 4位年份 (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对于从 datetimesmalldatetimecharacter 数据转换输出格式如表中所示对于从 floatmoneysmallmoneycharacter 数据转换输出等同于 style 2对于从 realcharacter 数据转换输出等同于 style 1





=notes>重要默认情况下SQL Server 根据截止年份 2049 解释两位数字年份两位数字年份 49 被解释为 2049而两位数字年份 50 被解释为 1950许多客户端应用(例如那些基于 OLE 自动化对象客户端应用)都使用 2030 作为截止年份SQL Server 提供个配置选项("两位数字截止年份")借以更改 SQL Server 所使用截止年份并对日期进行致性处理然而最安全办法是指定 4位数字年份



当从 smalldatetime 转换为数据时包含秒或毫秒样式将在这些位置上显示零当从 datetimesmalldatetime 值进行转换时可以通过使用适当 charvarchar 数据类型长度来截断不需要日期部分

下表显示了从 floatreal 转换为数据时 style

值 输出
0(默认值) 最大为 6 位数根据需要使用科学记数法
1 始终为 8 位值始终使用科学记数法
2 始终为 16 位值始终使用科学记数法




在下表中左列表示从 money smallmoney 转换为数据时 style

值 输出
0(默认值) 小数点左侧每 3位数字的间不以逗号分隔小数点右侧取两位数例如 4235.98
1 小数点左侧每 3位数字的间以逗号分隔小数点右侧取两位数例如 3,510.92
2 小数点左侧每 3位数字的间不以逗号分隔小数点右侧取 4位数例如 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

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: