Sql Server 中的日期与时间函数

原创 2004年09月20日 20:47:00

日期和时间函数

这些标量函数对日期和时间输入值执行操作,并返回一个字符串、数字值或日期和时间值。

下表列出日期和时间函数以及它们的确定性属性。有关函数确定性的更多信息,请参见确定性函数和非确定性函数。

函数 确定性
DATEADD 具有确定性
DATEDIFF 具有确定性
DATENAME 不具有确定性
DATEPART 除了用作 DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST 所设置的值。
DAY 具有确定性
GETDATE 不具有确定性
GETUTCDATE 不具有确定性
MONTH 具有确定性
YEAR 具有确定性

1. dateadd

在向指定日期加上一段时间的基础上,返回新的 datetime

DATEADD ( datepart , number, date )

参数

datepart

是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
Year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

在'2004-09-18'的基础上加1天

select dateadd(day,1,'2004-09-18')

--返回:2004-09-19 00:00:00.000

2.datediff

返回跨两个指定日期的日期和时间边界数。

语法

DATEDIFF ( datepart , startdate , enddate )

参数

datepart

是规定了应在日期的哪一部分计算差额的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
Month mm, m
dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

'2004-09-01'跟'2004-09-18'相差几天?

select datediff(day,'2004-09-01','2004-09-18')

--返回 17

3.datename 

返回代表指定日期的指定日期部分的字符串。

语法

DATENAME ( datepart , date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms

--示例

求'2004-09-19'是星期几?

select datename(dw,'2004-09-19')  --返回 '星期日'

如果要求是英文的则:

set language english  --设置语言
select datename(dw,'2004-09-19')  --返回:Sunday
set language 简体中文 --将语言再设回去

4. datepart

返回代表指定日期的指定日期部分的整数。

语法

DATEPART ( datepart , date )

参数

datepart

是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday dw
Hour hh
minute mi, n
second ss, s
millisecond ms

此示例假设日期是 5 月 29 日。

SELECT DATEPART(month, GETDATE())
GO

下面是结果集:

----------- 
5           

(1 row(s) affected)
5.
返回代表指定日期的天的日期部分的整数。
语法

DAY ( date )

 

6.getdate

datetime 值的 Microsoft® SQL Server™ 标准内部格式返回当前系统日期和时间。

语法

GETDATE ( )

 

7 GETUTCDATE

返回表示当前 UTC 时间(世界时间坐标或格林尼治标准时间)的 datetime 值。当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置。

语法

GETUTCDATE()

 

8.month() 与year()

分别取月,年的整数部分

注意:灵活使用日期时间函数,用时多考虑!

 

SQLServer时间日期函数详解

SQLServer时间日期函数详解,SQLServer,时间日期, 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定...
  • sust2012
  • sust2012
  • 2014年07月30日 14:13
  • 8097

Sql Server起今为止最全的【日期函数大全】!(超经典,全部为示例)

select convert(varchar(10),getdate(),120) -- 只返回当前日期,且为2012-12-12格式(最有用) datediff(day,create...
  • dxnn520
  • dxnn520
  • 2013年01月01日 01:28
  • 8371

例说SQL Server 2008 日期和时间函数

1 返回系统当前日期的函数GETDATE() 例: SQL查询: SELECT GETDATE() 执行结果:     2 返回指定日期是一个月中第几天的函数DAY(date) 例: SQL查询: S...
  • tiana0
  • tiana0
  • 2014年04月03日 21:26
  • 3016

SQL Server中常用的日期时间函数

日期时间函数可用在SELECT语句的选择列表或用在查询的WHERE子句中,下面将给出SQL Server中重用的日期时间函数。由于排版问题,就没有将这些函数表格都贴上来。下面就这些日期时间函数做具体的...
  • chencong3139
  • chencong3139
  • 2016年05月14日 12:28
  • 1627

SQL server 中convert 函数转换日期格式

sql server中使用convert来取得datetime数据类型样式(全)日期数据格式的处理,两个示例:CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 0...
  • yali1990515
  • yali1990515
  • 2016年03月30日 14:18
  • 411

SQL SERVER 时间日期处理函数

Sql Server中的日期与时间函数 1. 当前系统日期、时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime ...
  • zhaoxinglin123
  • zhaoxinglin123
  • 2014年03月08日 09:53
  • 759

sql server2008对字符串日期字段分区

这次分区的特点有两个: 1:对已经使用的数据库进行分区,网上大多数例子是新建的分区和数据库。 2:对字符串类型日期进行分区。 这两点还是很有参考价值的。...
  • lsh6688
  • lsh6688
  • 2014年07月30日 14:19
  • 4532

sql server日期函数 怎么查询日期时间

有时候在开发的时候可能需要某个时间字段的某个特定的日期,比如说我们student表中有一个字段是 comeyear (入学日期) 好的,这个是一个datatime类型的,如2012-9-1 12:1...
  • u011410529
  • u011410529
  • 2015年12月14日 14:46
  • 2868

SQL Server中的日期时间类型

一. 数据类型 SQL Server008在上一个版本的基础上把日期时间类的数据类型增加到了六个。除了SQL Server2005的datetime和smalltime之外,加了date,d...
  • Yang_Jesus
  • Yang_Jesus
  • 2016年11月21日 21:22
  • 781

SQL Server日期时间格式转换字符串详解

1、日期时间转换字符串 2、sql server日期与时间函数 3、sql server日期函数 4、sql server日期函数举例 GetDate,DateDiff,Convert...
  • jcx5083761
  • jcx5083761
  • 2013年09月04日 09:24
  • 23889
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Sql Server 中的日期与时间函数
举报原因:
原因补充:

(最多只允许输入30个字)