常常用,常常忘,摘下来做个笔记。原作者不详了。
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
相关推荐
SqlServer中使用Convert取得DateTime数据格式 标签: Sqlserver数据库技术
### SQL中使用CONVERT函数转换时间输出格式 在SQL中,`CONVERT`函数是非常实用的一个工具,可以用来改变日期和时间数据类型的显示格式。这对于报告、数据分析以及其他需要以特定格式展示日期或时间的应用场景非常...
`smalldatetime` 和 `datetime` 是SQL Server中两种常见的日期时间类型。`smalldatetime` 包含年、月、日和小时、分钟信息,精确到分钟,而 `datetime` 则更加精确,包含秒和毫秒部分。默认的显示格式可能并不符合...
在SQL Server中,日期和时间数据类型的处理是数据库操作中的常见任务。...理解并熟练掌握这些日期格式转换方法,将有助于在SQL Server环境中更高效地处理日期和时间数据,提高数据处理的灵活性和准确性。
首先使用样式代码120获取日期时间字符串,然后通过多次调用`REPLACE`函数去除短横线、空格和冒号,最终得到一个没有分隔符的日期时间字符串。 ##### 示例3:使用样式代码111 ```sql SELECT CONVERT(varchar(12), ...
`CONVERT`是SQL Server中用于日期时间格式转换的主要函数之一。它支持将日期时间类型的数据转换成不同格式的字符串。下面我们将详细介绍如何使用`CONVERT`函数,并列出一些常见的格式化选项。 #### `CONVERT`函数的...
以下是从给定的部分内容中提取的一些示例,展示了如何使用`CONVERT`函数来实现不同的日期时间格式转换: ```sql -- 显示默认格式(MMDDYYYYHH:MIAM/PM) Select CONVERT(varchar(100), GETDATE(), 0) -- 显示格式...
在实际操作中,使用 Convert 函数可以将 datetime 日期数据转换为多种不同的格式,满足不同的业务需求。 Convert 函数的基本语法如下所示: SELECT CONVERT(varchar(100), GETDATE(), style) 其中,GETDATE() 是...
SQL 中 Convert 和 Cast 的区别 SQL 中的 Convert 和 Cast 是两个常用的数据类型转换函数,但它们之间存在着一些关键的区别。在实际应用中,选择合适的函数可以提高编程效率和数据处理的准确性。 Convert 函数 ...
##### 2.3 完整日期时间格式 ```sql SELECT CONVERT(varchar(100), GETDATE(), 9) -- 0516200610:57:46:827AM SELECT CONVERT(varchar(100), GETDATE(), 10) -- 05-16-06 SELECT CONVERT(varchar(100), GETDATE(), ...
不推荐在样式中使用0,因为它可能导致意外的结果,因为SQL Server可能会将其解释为两位数的年份。 2. **样式101**:美国标准的日期格式,"MM/DD/YYYY"。 3. **样式102**:ANSI日期格式,"YY.MM.DD"。 4. **样式...
在 SQL Server 中,日期时间类型的字段可以通过使用 CONVERT 函数来实现格式转换。 CONVERT 函数 CONVERT 函数是 SQL Server 中的一个内置函数,用于将一种数据类型转换为另一种数据类型。在日期时间格式转换中,...
在 SQL 中使用 Convert 函数进行日期查询的代码 在 SQL 中使用 Convert 函数进行日期查询的代码是非常有用的技术,特别是在查询日期类型的字段时。下面我们将详细探讨在 SQL 中使用 Convert 函数进行日期查询的代码...
本文将详细介绍几种常见数据库(如SQL Server、Oracle、DB2)中如何进行日期格式转换的方法,并通过具体的示例帮助读者更好地理解和应用。 #### Access数据库中的日期格式转换 在Access数据库中,可以利用`Format`...
在SQL Server中,时间格式转换是一项非常实用的功能,它能够帮助我们按照...以上内容全面介绍了SQL Server中`CONVERT`函数可以实现的各种日期时间格式转换方法及其应用场景,希望能够帮助您更好地理解和掌握这一功能。