`
doch20000
  • 浏览: 12632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

SQL 中使用CONVERT转日期格式

    博客分类:
  • SQL
阅读更多

常常用,常常忘,摘下来做个笔记。原作者不详了。

 

CONVERT

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

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

在表中,左侧的两列表示将 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。对于从 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中使用CONVERT转换时间输出格式

    ### SQL中使用CONVERT函数转换时间输出格式 在SQL中,`CONVERT`函数是非常实用的一个工具,可以用来改变日期和时间数据类型的显示格式。这对于报告、数据分析以及其他需要以特定格式展示日期或时间的应用场景非常...

    SqlServer中使用Convert取得DateTime数据格式

    SqlServer中使用Convert取得DateTime数据格式 标签: Sqlserver数据库技术

    sql时间格式转换大全

    在 SQL Server 中,日期时间类型的字段可以通过使用 CONVERT 函数来实现格式转换。 CONVERT 函数 CONVERT 函数是 SQL Server 中的一个内置函数,用于将一种数据类型转换为另一种数据类型。在日期时间格式转换中,...

    SQL中日期格式转换

    `smalldatetime` 和 `datetime` 是SQL Server中两种常见的日期时间类型。`smalldatetime` 包含年、月、日和小时、分钟信息,精确到分钟,而 `datetime` 则更加精确,包含秒和毫秒部分。默认的显示格式可能并不符合...

    sql server日期格式转换方法大全

    在SQL Server中,日期和时间数据类型的处理是数据库操作中的常见任务。...理解并熟练掌握这些日期格式转换方法,将有助于在SQL Server环境中更高效地处理日期和时间数据,提高数据处理的灵活性和准确性。

    Sql Server日期格式转换

    首先使用样式代码120获取日期时间字符串,然后通过多次调用`REPLACE`函数去除短横线、空格和冒号,最终得到一个没有分隔符的日期时间字符串。 ##### 示例3:使用样式代码111 ```sql SELECT CONVERT(varchar(12), ...

    Sql日期时间格式转换

    `CONVERT`是SQL Server中用于日期时间格式转换的主要函数之一。它支持将日期时间类型的数据转换成不同格式的字符串。下面我们将详细介绍如何使用`CONVERT`函数,并列出一些常见的格式化选项。 #### `CONVERT`函数的...

    sql时间函数格式转换

    SQL 时间函数是一种非常有用的函数,它可以将日期和时间转换为不同的格式,以满足不同的应用需求。下面将详细介绍 SQL 时间函数的格式转换。 getdate()函数 getdate() 函数用于获取当前系统的日期和时间。例如: ``...

    sql中实现时间格式的转换

    以下是从给定的部分内容中提取的一些示例,展示了如何使用`CONVERT`函数来实现不同的日期时间格式转换: ```sql -- 显示默认格式(MMDDYYYYHH:MIAM/PM) Select CONVERT(varchar(100), GETDATE(), 0) -- 显示格式...

    SQL Server使用convert对datetime日期数据进行获取

    在实际操作中,使用 Convert 函数可以将 datetime 日期数据转换为多种不同的格式,满足不同的业务需求。 Convert 函数的基本语法如下所示: SELECT CONVERT(varchar(100), GETDATE(), style) 其中,GETDATE() 是...

    SQL中convert和cast的区别

    SQL 中 Convert 和 Cast 的区别 SQL 中的 Convert 和 Cast 是两个常用的数据类型转换函数,但它们之间存在着一些关键的区别。在实际应用中,选择合适的函数可以提高编程效率和数据处理的准确性。 Convert 函数 ...

    Sql 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(), ...

    在SQL中使用convert函数进行日期的查询的代码

    在 SQL 中使用 Convert 函数进行日期查询的代码 在 SQL 中使用 Convert 函数进行日期查询的代码是非常有用的技术,特别是在查询日期类型的字段时。下面我们将详细探讨在 SQL 中使用 Convert 函数进行日期查询的代码...

    数据库转换日期格式

    本文将详细介绍几种常见数据库(如SQL Server、Oracle、DB2)中如何进行日期格式转换的方法,并通过具体的示例帮助读者更好地理解和应用。 #### Access数据库中的日期格式转换 在Access数据库中,可以利用`Format`...

    SQLserver中用convert函数转换日期格式的方法

    本篇文章将深入探讨如何在SQL Server中使用`CONVERT`函数来转换日期格式。 首先,SQL Server的默认日期时间格式是`yyyy-mm-dd Thh:mm:ss.mmm`,如`2003-12-28 16:52:00.107`所示。这个格式符合ISO 8601标准,但并不...

    sql时间按转换格式

    在SQL Server中,时间格式转换是一项非常实用的功能,它能够帮助我们按照...以上内容全面介绍了SQL Server中`CONVERT`函数可以实现的各种日期时间格式转换方法及其应用场景,希望能够帮助您更好地理解和掌握这一功能。

Global site tag (gtag.js) - Google Analytics