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

时间:2010-08-07 11:31:00 

CONVERT

将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在SQL Server中 将日期格式化.

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

在表中,左侧的两列表示将 datetimesmalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。

不带世纪数位 (yy)带世纪数位 (yyyy)
标准

输入/输出**
-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)
1101美国mm/dd/yyyy
2102ANSIyy.mm.dd
3103英国/法国dd/mm/yy
4104德国dd.mm.yy
5105意大利dd-mm-yy
6106-dd mon yy
7107-mon dd, yy
8108-hh:mm:ss
-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10110美国mm-dd-yy
11111日本yy/mm/dd
12112ISOyymmdd
-13 或 113 (*)欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h)
14114-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(***)ISO8601yyyy-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。



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


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

下表显示了从 floatreal 转换为字符数据时的 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

标签:sql,server,convert,日期,格式化
0
投稿

猜你喜欢

  • 18个超棒的Web和移动应用开发框架

    2011-03-31 17:04:00
  • js倒计时代码

    2008-05-07 13:41:00
  • 快速解释如何使用pandas的inplace参数的使用

    2021-07-20 16:36:29
  • pytorch中的squeeze函数、cat函数使用

    2022-03-27 14:32:24
  • PyCharm永久激活方式(推荐)

    2023-06-12 00:53:33
  • Python3 venv搭建轻量级虚拟环境的步骤(图文)

    2022-11-26 08:47:16
  • 使用Python将Mysql的查询数据导出到文件的方法

    2024-01-17 21:36:22
  • Python实现读取文件的方法总结

    2021-05-04 00:56:26
  • SQLServer 2000 数据库同步详细步骤[两台服务器]

    2024-01-21 11:18:03
  • Python操作MySQL模拟银行转账

    2022-05-19 21:23:11
  • asp如何创建Word 文件?

    2009-11-14 20:47:00
  • python 模拟登陆github的示例

    2022-01-05 17:52:41
  • python全栈知识点总结

    2021-05-20 01:55:24
  • pytest解读一次请求多个fixtures及多次请求

    2023-07-20 01:13:43
  • Python 中@lazyprop 装饰器的用法

    2022-11-30 16:42:10
  • python如何实现反向迭代

    2023-05-17 17:37:55
  • 解压版MYSQL中文乱码问题解决方案

    2024-01-21 12:40:12
  • Activiti-Explorer使用sql server数据库实现方法

    2024-01-18 03:07:36
  • 如何在vue中使用ant-design-vue组件

    2024-05-02 16:32:47
  • 模仿IE自动完成功能

    2010-03-18 15:51:00
  • asp之家 网络编程 m.aspxhome.com