sql中convert()函数【日期与字符串之间的转换】
- 格式:doc
- 大小:63.00 KB
- 文档页数:8
一、convert(date, )函数的基本介绍convert(date, )是SQL Server中的一个日期函数,用于将其他数据类型的数据转换为日期类型。
它的语法格式为convert(date, expression, style)。
其中,date表示要转换成的日期类型,expression表示要进行转换的表达式,style表示日期的输出格式。
二、convert(date, )函数的常见用法1. 将字符串转换为日期类型在日常的数据库操作中,经常会遇到需要将字符串类型的数据转换为日期类型的情况。
convert(date, )函数就可以很好地满足这一需求。
我们可以使用如下语句将字符串类型的日期数据转换为日期类型:convert(date, '2022-09-15')这样就可以将字符串'2022-09-15'转换为日期类型,方便进行后续的日期计算和比较操作。
2. 按照指定格式输出日期convert(date, )函数还可以按照指定的格式将日期数据进行输出。
我们可以使用如下语句按照“年-月-日”的格式输出日期数据:convert(date, '2022-09-15', 23)这样就可以将日期'2022-09-15'按照指定格式输出为'2022-09-15'的形式,方便进行页面展示或者导出报表等操作。
三、convert(date, )函数的注意事项1. 日期格式的合法性在使用convert(date, )函数进行日期转换时,需要注意输入的日期格式必须是合法的。
否则会出现转换失败的情况。
如果输入的字符串不符合日期的标准格式,就会导致转换失败,从而影响后续的数据操作。
2. 日期范围的限制在进行日期类型的转换时,还需要注意日期范围的限制。
对于一些早于1900年1月1日或者晚于2155年12月31日的日期,convert(date, )函数可能会出现转换失败或者不确定的结果。
在SQL Server 中,`CONVERT` 函数用于将一个数据类型转换为另一个数据类型。
以下是`CONVERT` 函数的一些常见用法:
1. 将日期转换为字符串:
```sql
SELECT CONVERT(varchar, GETDATE(), 120) AS FormattedDate;
```
这将返回当前日期,并将其格式化为"YYYY-MM-DD" 的字符串形式。
2. 将字符串转换为日期:
```sql
SELECT CONVERT(date, '2023-07-19', 120) AS ConvertedDate;
```
这将将字符串 "2023-07-19" 转换为日期类型。
3. 将数字转换为字符串:
```sql
SELECT CONVERT(varchar, 12345) AS ConvertedNumber;
```
这将返回数字 12345 的字符串表示形式。
4. 将字符串转换为数字:
```sql
SELECT CONVERT(int, '12345') AS ConvertedNumber;
```
这将将字符串 "12345" 转换为整数类型。
这只是`CONVERT` 函数的一些基本用法示例。
你可以根据需要使用不同的数据类型和格式代码来执行更复杂的转换操作。
有关更多详细信息,请参阅SQL Server 文档中的`CONVERT` 函数部分。
在sql server数据库中,sql server日期时间格式转换字符串可以改变sql server日期和时间的格式,是每个SQL数据库用户都应该掌握的。
日期时间转字符串:1.Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2.Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063.Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164.Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065.Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066.Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067.Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068.Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069.Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610.Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11.Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612.Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613.Select CONVERT(varchar(100), GETDATE(), 12): 06051614.Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715.Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716.Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717.Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718.Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM19.Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620.Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721.Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022.Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23.Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624.Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625.Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626.Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627.Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628.Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629.Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630.Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931.Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32.Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633.Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634.Select CONVERT(varchar(100), GETDATE(), 112): 2006051635.Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336.Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737.Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938.Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039.Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740.Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ??????1427 10:57:49:907AM。
SQLServer中⽇期与字符串之间的互相转换及⽇期格式近期项⽬⽤到了很多⽇期转换为字符串、字符串转换为⽇期的⽅法,⽽且也⽤到了很多⽇期格式,特整理如下,以备后⽤。
1、⽇期转换为字符串、⽇期格式使⽤函数CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )参数expression是任何有效的 Microsoft?nbsp;? 表达式。
data_type⽬标所提供的数据类型,包括 bigint 和 sql_variant。
不能使⽤⽤户定义的数据类型。
lengthnchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。
style⽇期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。
⽤例:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AMSelect CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM2、字符串转换为⽇期使⽤ CAST:CAST ( expression AS data_type )使⽤ CONVERT:CONVERT (data_type[(length)], expression [, style])参数expression是任何有效的 Microsoft?nbsp;SQL Server? 表达式。
SQLServer⽇期时间格式转换字符串详解本⽂我们主要介绍了SQL Server⽇期时间格式转换字符串的相关知识,并给出了⼤量实例对其各个参数进⾏对⽐说明,希望能够对您有所帮助。
在SQL Server数据库中,SQL Server⽇期时间格式转换字符串可以改变SQL Server⽇期和时间的格式,是每个SQL数据库⽤户都应该掌握的。
本⽂我们主要就介绍⼀下SQL Server⽇期时间转字符串的相关知识,接下来就让我们⼀起来了解⼀下这部分内容。
⽇期时间转字符串:1. Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2. Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063. Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164. Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065. Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066. Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067. Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068. Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069. Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610. Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11. Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612. Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613. Select CONVERT(varchar(100), GETDATE(), 12): 06051614. Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715. Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716. Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717. Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718. Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM19. Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620. Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721. Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022. Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23. Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624. Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625. Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626. Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627. Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628. Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629. Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630. Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931. Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32. Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633. Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634. Select CONVERT(varchar(100), GETDATE(), 112): 2006051635. Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336. Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737. Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938. Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039. Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740. Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM在SQL数据库中,有⼀类函数是不得不提的,那就是SQL Server⽇期时间函数,这是SQL Server处理⽇期和时间最常⽤的函数,下⾯就将为介绍这类函数。
sql server 中convert函数的用法在 SQL Server 中,convert 函数用于将一个数据类型的值转换为另一个数据类型的值。
该函数具有多个参数,其中第一个参数指定要转换的表达式,第二个参数指定转换后的数据类型,而第三个参数 (可选) 则允许指定日期和时间格式等选项。
convert 函数常用于以下情况:1. 类型转换:将一个数据类型转换为另一个数据类型,如将字符串转换为整数或将整数转换为日期。
例如,可以使用以下语句将 nvarchar 类型的值转换为 datetime 类型:SELECT CONVERT(datetime, '2021-11-11')2. 格式化日期和时间:可以使用 convert 函数将日期和时间值格式化为特定的字符串格式。
例如,可以使用以下语句将 datetime 类型的值转换为 'YYYY-MM-DD' 字符串格式:SELECT CONVERT(nvarchar, GETDATE(), 23)此语句将当前日期和时间以 'YYYY-MM-DD' 格式返回。
3. 处理错误的日期和时间值:某些日期和时间值可能不符合 SQL Server 的日期和时间格式。
在这种情况下,可以使用 convert 函数将它们转换为可接受的格式。
例如,可以使用以下语句将 '2019-02-29' 转换为 datetime 值:SELECT CONVERT(datetime, '2019-03-01', 101)在此示例中,指定了 101 选项,该选项将日期格式化为MM/DD/YYYY 格式。
总之,convert 函数是 SQL Server 中一个非常有用的函数,可以进行各种类型转换和日期时间格式化操作。
但需要注意的是,在进行类型转换时,需要注意源数据类型和目标数据类型之间的兼容性。
否则,可能会出现意想不到的结果。
SQLServer中时间格式转换函数convert()的使⽤convert(varchar(10),字段名,转换格式)CONVERT为⽇期转换函数,⼀般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才⽤到;函数的3个参数:第1个参数为转换后的⼤;第2个为转换⽇期的字段或函数;第3个为转换的格式。
具体例⼦:SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/11SELECT CONVERT(varchar(100), GETDATE(), 2): 11.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/11SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.11SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-11SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 11SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 11SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2011 10:57:46:827AMSELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-11SELECT CONVERT(varchar(100), GETDATE(), 11): 11/05/16SELECT CONVERT(varchar(100), GETDATE(), 12): 110516SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2011 10:57:46:937SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967SELECT CONVERT(varchar(100), GETDATE(), 20): 2011-05-16 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 21): 2011-05-16 10:57:47.157SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/11 10:57:47 AMSELECT CONVERT(varchar(100), GETDATE(), 23): 2011-05-16SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 25): 2011-05-16 10:57:47.250SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2011SELECT CONVERT(varchar(100), GETDATE(), 102): 2011.05.16SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2011SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2011SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2011SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2011SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2011SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2011 10:57:49:437AMSELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2011SELECT CONVERT(varchar(100), GETDATE(), 111): 2011/05/16SELECT CONVERT(varchar(100), GETDATE(), 112): 20110516SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2011 10:57:49:513SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547SELECT CONVERT(varchar(100), GETDATE(), 120): 2011-05-16 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 121): 2011-05-16 10:57:49.700SELECT CONVERT(varchar(100), GETDATE(), 126): 2011-05-16T10:57:49.827SELECT CONVERT(varchar(100), GETDATE(), 130): 16 05 2011 10:57:49:513AMSELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM⼀、sql server中的⽇期与时间函数1. GetDate( ) 返回系统⽬前的⽇期与时间select getdate()2.DateAdd (interval,number,date) 以interval指定的⽅式,向指定⽇期加上⼀段时间number,返回新的 datetime 值 例如:向⽇期加上2天select dateadd(day,2,'2010-10-15') --返回:2010-10-17 00:00:00.000以此类推:向⽇期倒推⼏天或⼏个⽉也是可以的。
SQL Server日期时间格式转换字符串详解本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助。
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的。
本文我们主要就介绍一下SQL Server日期时间转字符串的相关知识,接下来就让我们一起来了解一下这部分内容。
日期时间转字符串:1.Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2.Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063.Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164.Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065.Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066.Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067.Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068.Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069.Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610.Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11.Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612.Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613.Select CONVERT(varchar(100), GETDATE(), 12): 06051614.Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715.Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716.Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717.Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718.Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM19.Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620.Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721.Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022.Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23.Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624.Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625.Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626.Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627.Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628.Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629.Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630.Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931.Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32.Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633.Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634.Select CONVERT(varchar(100), GETDATE(), 112): 2006051635.Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336.Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737.Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938.Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039.Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740.Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM在SQL数据库中,有一类函数是不得不提的,那就是SQL Server日期时间函数,这是SQL Server处理日期和时间最常用的函数,下面就将为介绍这类函数。
sqlserver⽇期与字符串之间的转换1、⽇期时间转字符串Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AMSelect CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM2、Sql Server⽇期与时间函数1. 当前系统⽇期、时间select getdate()2. dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值例如:向⽇期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003. datediff 返回跨两个指定⽇期的⽇期和时间边界数。
sqlserver⽇期与字符串之间的转换字符转换为⽇期时,Style的使⽤--1. Style=101时,表⽰⽇期字符串为:mm/dd/yyyy格式SELECT CONVERT(datetime,'11/1/2003',101)--结果:2003-11-01 00:00:00.000--2. Style=101时,表⽰⽇期字符串为:dd/mm/yyyy格式SELECT CONVERT(datetime,'11/1/2003',103)--结果:2003-01-11 00:00:00.000/*== ⽇期转换为字符串 ==*/DECLARE @dt datetimeSET @dt='2003-1-11'--1. Style=101时,表⽰将⽇期转换为:mm/dd/yyyy 格式SELECT CONVERT(varchar,@dt,101)--结果:01/11/2003--2. Style=103时,表⽰将⽇期转换为:dd/mm/yyyy 格式SELECT CONVERT(varchar,@dt,103)--结果:11/01/2003/*== 这是很多⼈经常犯的错误,对⾮⽇期型转换使⽤⽇期的style样式 ==*/SELECT CONVERT(varchar,'2003-1-11',101)--结果:2003-1-11--1./*--说明SET DATEFORMAT设置对使⽤CONVERT把字符型⽇期转换为⽇期的处理也具有影响但不影响明确指定了style的CONVERT处理。
--*/--⽰例,在下⾯的⽰例中,第⼀个CONVERT转换未指定style,转换的结果受SET DATAFORMAT的影响,第⼆个CONVERT转换指定了style,转换结果受style的影响。
--设置输⼊⽇期顺序为⽇/⽉/年SET DATEFORMAT DMY--不指定Style参数的CONVERT转换将受到SET DATEFORMAT的影响SELECT CONVERT(datetime,'2-1-2005')--结果: 2005-01-02 00:00:00.000--指定Style参数的CONVERT转换不受SET DATEFORMAT的影响SELECT CONVERT(datetime,'2-1-2005',101)--结果: 2005-02-01 00:00:00.000GO--2./*--说明如果输⼊的⽇期包含了世纪部分,则对⽇期进⾏解释处理时年份的解释不受SET DATEFORMAT设置的影响。
CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到.语句结果SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PM SELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15SELECT CONVERT(varchar(100), GETDATE(), 12) 090715SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513 SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513 SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PMSELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 130) 23 ??? 1430 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PMstyle数字在转换时间时的含义如下:------------------------------------------------------------------------------------------------------------Style(2位表示年份) | Style(4位表示年份) | 输入输出格式------------------------------------------------------------------------------------------------------------0 | 100 | mon dd yyyy hh:miAM(或PM)------------------------------------------------------------------------------------------------------------1 | 101 美国| mm/dd/yy------------------------------------------------------------------------------------------------------------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:mmmmAM(或PM)------------------------------------------------------------------------------------------------------------10 | 110 美国| mm-dd-yy------------------------------------------------------------------------------------------------------------11 | 111 日本| yy/mm/dd------------------------------------------------------------------------------------------------------------12 | 112 ISO | yymmdd------------------------------------------------------------------------------------------------------------13 | 113 欧洲默认值| dd mon yyyy hh:mi:ss:mmm(24小时制)------------------------------------------------------------------------------------------------------------14 | 114 | hh:mi:ss:mmm(24小时制)------------------------------------------------------------------------------------------------------------20 | 120 ODBC 规范| yyyy-mm-dd hh:mi:ss(24小时制)------------------------------------------------------------------------------------------------------------21 | 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制) ------------------------------------------------------------------------------------------------------------说明:使用CONVERT:CONVERT(data_type [ (length )] , expression [ , style ] )参数expression是任何有效的Microsoft® SQL Server™ 表达式。
sqlserver的Convert(Datetime)格式转换及常⽤的⽇期函数总结使⽤sql server的时候经常会⽤到把sql的时期类型转换成各种格式的字符串,我们都知道的Convert的最后⼀个参数是数字代表了不同的格式。
⼀、CONVERT参数调⽤格式:CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)⼆、说明:此样式⼀般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才⽤到.SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15SELECT CONVERT(varchar(100), GETDATE(), 12) 090715SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PMSELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 130) 23 1430 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PM。
在sql server数据库中,sql server日期时间格式转换字符串可以改变sql server日期和时间的格式,是每个SQL数据库用户都应该掌握的。
日期时间转字符串:1.Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM2.Select CONVERT(varchar(100), GETDATE(), 1): 05/16/063.Select CONVERT(varchar(100), GETDATE(), 2): 06.05.164.Select CONVERT(varchar(100), GETDATE(), 3): 16/05/065.Select CONVERT(varchar(100), GETDATE(), 4): 16.05.066.Select CONVERT(varchar(100), GETDATE(), 5): 16-05-067.Select CONVERT(varchar(100), GETDATE(), 6): 16 05 068.Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 069.Select CONVERT(varchar(100), GETDATE(), 8): 10:57:4610.Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM11.Select CONVERT(varchar(100), GETDATE(), 10): 05-16-0612.Select CONVERT(varchar(100), GETDATE(), 11): 06/05/1613.Select CONVERT(varchar(100), GETDATE(), 12): 06051614.Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:93715.Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716.Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:4717.Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.15718.Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47AM19.Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620.Select CONVERT(varchar(100), GETDATE(), 24): 10:57:4721.Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.25022.Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM23.Select CONVERT(varchar(100), GETDATE(), 101): 05/16/200624.Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625.Select CONVERT(varchar(100), GETDATE(), 103): 16/05/200626.Select CONVERT(varchar(100), GETDATE(), 104): 16.05.200627.Select CONVERT(varchar(100), GETDATE(), 105): 16-05-200628.Select CONVERT(varchar(100), GETDATE(), 106): 16 05 200629.Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 200630.Select CONVERT(varchar(100), GETDATE(), 108): 10:57:4931.Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM32.Select CONVERT(varchar(100), GETDATE(), 110): 05-16-200633.Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634.Select CONVERT(varchar(100), GETDATE(), 112): 2006051635.Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:51336.Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737.Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:4938.Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.70039.Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740.Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AMSQL日期格式转换2008-03-04 09:38--字符转换为日期时,Style的使用--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式SELECT CONVERT(datetime,'11/1/2003',101)--结果:2003-11-01 00:00:00.000--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式SELECT CONVERT(datetime,'11/1/2003',103)--结果:2003-01-11 00:00:00.000/*== 日期转换为字符串==*/DECLARE @dt datetimeSET @dt='2003-1-11'--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式SELECT CONVERT(varchar,@dt,101)--结果:01/11/2003--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式SELECT CONVERT(varchar,@dt,103)--结果:11/01/2003/*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式==*/SELECT CONVERT(varchar,'2003-1-11',101)--结果:2003-1-11--1./*--说明SET DATEFORMAT设置对使用CONVERT把字符型日期转换为日期的处理也具有影响但不影响明确指定了style的CONVERT处理。
SQL中CONVERT()转化函数的⽤法字符串转⽇期1 SELECT CONVERT(varchar(100), GETDATE(), 0): 0516200610:57AM2 SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/063 SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.164 SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/065 SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.066 SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-067 SELECT CONVERT(varchar(100), GETDATE(), 6): 1605068 SELECT CONVERT(varchar(100), GETDATE(), 7): 0516, 069 SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:4610 SELECT CONVERT(varchar(100), GETDATE(), 9): 0516200610:57:46:827AM11 SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-0612 SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/1613 SELECT CONVERT(varchar(100), GETDATE(), 12): 06051614 SELECT CONVERT(varchar(100), GETDATE(), 13): 1605200610:57:46:93715 SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:96716 SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-1610:57:4717 SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-1610:57:47.15718 SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/0610:57:47 AM19 SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-1620 SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:4721 SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-1610:57:47.25022 SELECT CONVERT(varchar(100), GETDATE(), 100): 0516200610:57AM23 SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/200624 SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.1625 SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/200626 SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.200627 SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-200628 SELECT CONVERT(varchar(100), GETDATE(), 106): 1605200629 SELECT CONVERT(varchar(100), GETDATE(), 107): 0516, 200630 SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:4931 SELECT CONVERT(varchar(100), GETDATE(), 109): 0516200610:57:49:437AM32 SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-200633 SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/1634 SELECT CONVERT(varchar(100), GETDATE(), 112): 2006051635 SELECT CONVERT(varchar(100), GETDATE(), 113): 1605200610:57:49:51336 SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:54737 SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-1610:57:4938 SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-1610:57:49.70039 SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.82740 SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 142710:57:49:907AM41 SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/142710:57:49:920AM42说明:倒数第⼆条出现问号,看似乱码,其实在mssql中执⾏的结果就是这样的//将字符串专为⽇期格式,⽐如:20070405,下⾯为代码。
SQLCONVERT()时间转字符串CONVERT(varchar,event_time,120) as event_timeValue Descriptiondata_type Required. The datatype to convert expression to. Can be one of the following: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, or image(length)Optional. The length of the resulting data type (for char, varchar, nchar, nvarchar, binary and varbinary)expression Required. The value to convert to another data typestyle Optional. The format used to convert between data types, such as a date or string format. Can be one of the following values: Converting datetime to character:Without century With century Input/Output Standard0100mon dd yyyy hh:miAM/PM Default1101mm/dd/yyyy US2102 yyyy.mm.dd ANSI3103 dd/mm/yyyy British/French4104dd.mm.yyyy German5105 dd-mm-yyyy Italian6106dd mon yyyy-7107Mon dd, yyyy-8108hh:mm:ss-9109mon dd yyyy hh:mi:ss:mmmAM (or PM)Default + millisec10110mm-dd-yyyy USA11111 yyyy/mm/dd Japan12112 yyyymmdd ISO13113dd mon yyyy hh:mi:ss:mmm Europe (24 hour clock)>14114hh:mi:ss:mmm24 hour clock20120yyyy-mm-dd hh:mi:ss ODBC canonical (24 hour clock)21121yyyy-mm-dd hh:mi:ss.mmm ODBC canonical (24 hour clock)126yyyy-mm-ddThh:mi:ss.mmm ISO8601127yyyy-mm-ddThh:mi:ss.mmmZ ISO8601 (with time zone Z)130dd mon yyyy hh:mi:ss:mmmAM Hijiri131dd/mm/yy hh:mi:ss:mmmAM HijiriConverting float to real:Value Explanation0Maximum 6 digits (default)18 digits216 digitsConverting money to character:Value Explanation0No comma delimiters, 2 digits to the right of decimal1Comma delimiters, 2 digits to the right of decimal2 No comma delimiters, 4 digits to the right of decimal。
sql查询语句关于时间的转换问题convert(varchar(10),字段名,转换格式)CONVERT(nvarchar(10),count_time,121)CONVERT为⽇期转换函数,⼀般就是在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才⽤到的函数的3个参数,第1个参数为,转换后的⼤⼩,第2个为转换⽇期的字段或函数,第3个为转换的格式.具体如下:0 | 0 or 100 | mon dd yyyy hh:miAM(或PM)1 | 101 | mm/dd/yy2 | 102 | yy-mm-dd3 | 103 | dd/mm/yy4 | 104 | dd-mm-yy5 | 105 | dd-mm-yy6 | 106 | dd mon yy7 | 107 | mon dd,yy8 | 108 | hh:mm:ss9 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)10 | 110 | mm-dd-yy11 | 111 | yy/mm/dd12 | 112 | yymmdd11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24⼩时制)14 | 114 | hh:mi:ss:mmm(24⼩时制)15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24⼩时制)16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24⼩时制)具体例⼦:SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/11SELECT CONVERT(varchar(100), GETDATE(), 2): 11.05.16SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/11SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.11SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-11SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 11SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 11SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2011 10:57:46:827AMSELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-11SELECT CONVERT(varchar(100), GETDATE(), 11): 11/05/16SELECT CONVERT(varchar(100), GETDATE(), 12): 110516SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2011 10:57:46:937SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967SELECT CONVERT(varchar(100), GETDATE(), 20): 2011-05-16 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 21): 2011-05-16 10:57:47.157SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/11 10:57:47 AMSELECT CONVERT(varchar(100), GETDATE(), 23): 2011-05-16SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47SELECT CONVERT(varchar(100), GETDATE(), 25): 2011-05-16 10:57:47.250SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2011 10:57AMSELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2011SELECT CONVERT(varchar(100), GETDATE(), 102): 2011.05.16SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2011SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2011SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2011SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2011SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2011SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2011 10:57:49:437AMSELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2011SELECT CONVERT(varchar(100), GETDATE(), 111): 2011/05/16SELECT CONVERT(varchar(100), GETDATE(), 112): 20110516SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2011 10:57:49:513SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547SELECT CONVERT(varchar(100), GETDATE(), 120): 2011-05-16 10:57:49SELECT CONVERT(varchar(100), GETDATE(), 121): 2011-05-16 10:57:49.700SELECT CONVERT(varchar(100), GETDATE(), 126): 2011-05-16T10:57:49.827SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM常⽤:Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 12): 110516Select CONVERT(varchar(100), GETDATE(), 23): 2011-05-16---常⽤实例操作:⼀、sql server⽇期时间函数Sql Server中的⽇期与时间函数1. 当前系统⽇期、时间select getdate()2. dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值例如:向⽇期加上2天select dateadd(day,2,'2010-10-15') --返回:2010-10-17 00:00:00.000以此类推:向⽇期倒推⼏天或⼏个⽉也是可以的。
CONVERT(data_type,expression[,style])convert(varchar(10),字段名,转换格式)说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar) 相互转换的时候才用到.语句结果SELECT CONVERT(varchar(100), GETDATE(), 0) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 1) 07/15/09SELECT CONVERT(varchar(100), GETDATE(), 2) 09.07.15SELECT CONVERT(varchar(100), GETDATE(), 3) 15/07/09SELECT CONVERT(varchar(100), GETDATE(), 4) 15.07.09SELECT CONVERT(varchar(100), GETDATE(), 5) 15-07-09SELECT CONVERT(varchar(100), GETDATE(), 6) 15 07 09SELECT CONVERT(varchar(100), GETDATE(), 7) 07 15, 09SELECT CONVERT(varchar(100), GETDATE(), 8) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 9) 07 15 2009 4:06:26:513PM SELECT CONVERT(varchar(100), GETDATE(), 10) 07-15-09SELECT CONVERT(varchar(100), GETDATE(), 11) 09/07/15SELECT CONVERT(varchar(100), GETDATE(), 12) 090715SELECT CONVERT(varchar(100), GETDATE(), 13) 15 07 2009 16:06:26:513 SELECT CONVERT(varchar(100), GETDATE(), 14) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 20) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 21) 2009-07-15 16:06:26.513 SELECT CONVERT(varchar(100), GETDATE(), 22) 07/15/09 4:06:26 PMSELECT CONVERT(varchar(100), GETDATE(), 23) 2009-07-15SELECT CONVERT(varchar(100), GETDATE(), 24) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 25) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 100) 07 15 2009 4:06PMSELECT CONVERT(varchar(100), GETDATE(), 101) 07/15/2009SELECT CONVERT(varchar(100), GETDATE(), 102) 2009.07.15SELECT CONVERT(varchar(100), GETDATE(), 103) 15/07/2009SELECT CONVERT(varchar(100), GETDATE(), 104) 15.07.2009SELECT CONVERT(varchar(100), GETDATE(), 105) 15-07-2009SELECT CONVERT(varchar(100), GETDATE(), 106) 15 07 2009SELECT CONVERT(varchar(100), GETDATE(), 107) 07 15, 2009SELECT CONVERT(varchar(100), GETDATE(), 108) 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 109) 07 15 2009 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 110) 07-15-2009SELECT CONVERT(varchar(100), GETDATE(), 111) 2009/07/15SELECT CONVERT(varchar(100), GETDATE(), 112) 20090715SELECT CONVERT(varchar(100), GETDATE(), 113) 15 07 2009 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 114) 16:06:26:513SELECT CONVERT(varchar(100), GETDATE(), 120) 2009-07-15 16:06:26SELECT CONVERT(varchar(100), GETDATE(), 121) 2009-07-15 16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 126) 2009-07-15T16:06:26.513SELECT CONVERT(varchar(100), GETDATE(), 130) 23 ??? 1430 4:06:26:513PMSELECT CONVERT(varchar(100), GETDATE(), 131) 23/07/1430 4:06:26:513PMstyle数字在转换时间时的含义如下:------------------------------------------------------------------------------------------------------------Style(2位表示年份) | Style(4位表示年份) | 输入输出格式------------------------------------------------------------------------------------------------------------0 | 100 | mon dd yyyy hh:miAM(或PM)------------------------------------------------------------------------------------------------------------1 | 101 美国| mm/dd/yy------------------------------------------------------------------------------------------------------------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:mmmmAM(或PM)------------------------------------------------------------------------------------------------------------10 | 110 美国| mm-dd-yy------------------------------------------------------------------------------------------------------------11 | 111 日本| yy/mm/dd------------------------------------------------------------------------------------------------------------12 | 112 ISO | yymmdd------------------------------------------------------------------------------------------------------------13 | 113 欧洲默认值| dd mon yyyy hh:mi:ss:mmm(24小时制)------------------------------------------------------------------------------------------------------------14 | 114 | hh:mi:ss:mmm(24小时制)------------------------------------------------------------------------------------------------------------20 | 120 ODBC 规范| yyyy-mm-dd hh:mi:ss(24小时制)------------------------------------------------------------------------------------------------------------21 | 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制) ------------------------------------------------------------------------------------------------------------说明:使用CONVERT:CONVERT(data_type [ (length )] , expression [ , style ] )参数expression是任何有效的Microsoft® SQL Server™ 表达式。