`
guoxuepeng
  • 浏览: 38615 次
文章分类
社区版块
存档分类
最新评论

SqlServer 日期时间格式转换

 
阅读更多

sql server中使用convert来取得datetime数据类型样式(全)

日期数据格式的处理,两个示例:

CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/

CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/


语句及查询结果:
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

说明:
使用 CONVERT:

CONVERT ( data_type [ ( length ) ] , expression [ , style ] )

参数
expression

是任何有效的 Microsoft® SQL Server™ 表达式。。

data_type

目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。
length

nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style

日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

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* Hijri**** dd mon yyyy hh:mi:ss:mmmAM
- 131* Hijri**** 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。
****Hijri 是具有几种变化形式的日历系统,Microsoft® SQL Server™ 2000 使用其中的科威特算法。



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


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

分享到:
评论

相关推荐

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

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

    Sql Server日期格式转换

    ### Sql Server 日期格式转换详解 在日常使用Sql Server数据库的过程中,我们经常会遇到需要对日期进行格式转换的需求。本文将详细介绍几种常见的日期格式转换方法,并通过具体的示例代码来帮助大家更好地理解和...

    SQLServer日期时间格式转换.txt

    SQLServer 数据库语句:日期/时间格式转换语句示例。

    SQL SERVER日期格式转换大全.txt

    亲测正确、有效的格式转换方法,试用于常见的应用场景。适合熟悉oracle,但在用SQLServer的小伙伴。

    SqlServer日期转换

    ### SqlServer 日期转换详解 在SQL Server中,日期时间数据类型的处理是非常常见的需求之一。尤其是在需要以不同的格式展示日期时,`CONVERT` 函数提供了极大的灵活性和便利性。本文将详细介绍`CONVERT`函数如何...

    sqlServer 日期类型转字符串

    ### SQL Server日期类型与字符串转换 SQL Server提供了多种日期和时间数据类型,包括`date`、`datetime`、`datetime2`、`smalldatetime`等,用于存储和操作日期和时间数据。但在某些场景下,如报表生成、日志记录或...

    sqlserver中对时间日期的操作

    在SQL Server中对时间日期的操作是数据库管理与开发过程中不可或缺的一部分。这不仅涉及到对当前时间的获取、格式化,还包括了日期的计算和调整。以下将深入解析如何在SQL Server中进行时间日期的操作。 ### 一、...

    SQL server 日期格式

    在Microsoft SQL Server中,日期和时间格式的处理是数据库管理和数据报告中的常见需求。通过使用内置的函数,如`CONVERT()`、`DATEADD()`、`DATEDIFF()`、`DATEPART()`等,可以灵活地对日期和时间进行各种格式化和...

    Sql日期时间格式转换

    本文将详细介绍SQL Server中的日期时间格式转换方法,并列举出多种格式化选项。 #### 使用`CONVERT`函数进行日期时间格式转换 `CONVERT`是SQL Server中用于日期时间格式转换的主要函数之一。它支持将日期时间类型...

    SQL Server中日期问题的解决

    另一种方法是先将日期时间字段转换成字符串格式,然后与目标日期的字符串形式进行比较。这种方式适用于需要精确到日的情况。例如: ```sql SELECT * FROM YourTable WHERE Convert(varchar(20), DateTimeColumn, 101...

    SqlServer日期处理函数

    ### SqlServer 日期处理函数详解 ...熟练掌握这些函数的应用,能够帮助开发者更高效地管理和处理日期时间相关的数据。 以上就是关于 SqlServer 日期处理函数的相关介绍和应用实例。希望对你有所帮助!

    sql时间格式转换大全

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

    sqlserver 日期格式总结

    SQL Server提供了多种数字代码用于日期时间的格式化输出。以下是从0到25的日期格式代码: 1. **0:**`MMDDYYYYhh:mmAM/PM` — 显示为月日年小时分钟加上上午/下午标记。 ```sql SELECT CONVERT(varchar(100), ...

    SQL SERVER 日期格式转换详解

    在SQL Server中,日期和时间的格式转换是数据库操作中常见的需求,尤其是在处理报表或者用户界面显示时。`CONVERT()` 函数是SQL Server提供的一种强大工具,用于将日期和时间数据转换为不同格式的字符串。本文将深入...

    Sql Server 中一个非常强大的日期格式化函数

    在SQL Server中处理日期和时间数据时,经常需要将日期和时间转换成不同的格式以便于展示或分析。`CONVERT` 函数是SQL Server中最常用的一种方法来实现日期和时间格式化的功能。通过这个函数,我们可以灵活地调整日期...

    SQL中日期格式转换

    在SQL中,日期和时间数据类型的格式...理解并熟练运用这些日期格式转换方法,可以让你在处理SQL日期和时间数据时更加得心应手,为用户提供更友好的日期时间显示。记得根据具体的应用场景和用户需求选择合适的日期格式。

    SQL SERVER 关于日期函数(字符转日期,日期转字符串)

    在 SQL Server 中,可以使用 CONVERT 函数将日期转换为字符串。CONVERT 函数的语法为: CONVERT (varchar, expression, style) 其中,varchar 是目标数据类型,expression 是要转换的日期数据,style 是日期格式...

Global site tag (gtag.js) - Google Analytics