sql server 时间小汇

 SQL server DATE函数

1getdate   返回当前系统的日期和时间,精确到3毫秒

要求:获得系统的当前时间

语句:SELECT getdate()

执行结果:

 

注:getutcdate():用于返回服务器当前日期和时间对应的格林威治时间,精确到3毫秒。他对于跨时区的公司非常有用。

2dateadd   在制定日期基础上加上或减去一段时间,返回新的datetime

要求:在2008-10-12日上加上2

语句:SELECT dateadd(day,2,'2008-10-12')

执行结果:

 

如果要得到从现在开始100小时后的时间,语法如下:

SELECT dateadd(hh,100,getdate)

注释:如果减去一段时间,用负值即可。

3datediff      返回两个日期之间的时间

要求:返回2008-1-1日和2009-3-5日之间的时间段

语句:SELECT datediff (day,'2008-1-1','2009-3-5')

 

要求:mike夫妇2001-5-4号结婚,问他们结婚了多少年?他们结婚了多少天?

语句:select
datediff(yy,'2001-5-4',getdate())as 结婚年,
datediff(dd,'2001-5-4',getdate())as 结婚天

注:返回值是后面的日期减去前面的日期,datediff()函数并不对整个日期数据计算,而是从中抽取日期不符进行计算,因此,前面要注明是计算年、月、日的哪个部分。

(4)datepart      返回日期或时间的指定单独部分,整数值

要求:返回时间2009-5-6日的年月日中的日

语句:SELECT datepart (day,'2009-5-6')

执行结果:

 

注:如果要返回年或月,将day 改成year month

 

(5)datename    返回日期的指定部分的字符串

要求:返回2009-5-6的星期

语句:SELECT datename (weekday,'2009-5-6')

执行结果:

 

可指定返回的日期部分参数和缩写如下表。

 

参数

Sql server 缩写

Acess和 asp缩写

说明

Year

Yy

yyyy

年,1753-9999

Quarter

Qq

q

季度,1-4

Month

Mm

m

月,1-12

Day of year

Dy

y

一年中的日数,1-366

Day

Dd

d

一月的日数,1-31

Weekday

Dw

w

一周的日数,1-7

Week

Wk

ww

周,一年中的第几周,1-52

Hour

Hh

h

时,0-24

Minute

Mi

n

分,0-59

Second

Ss

s

秒,0-59

Millisecond

Ms

-

毫秒,0-999

 比如返回当前服务器时间的年份

语句:

select datename(yy,getdate())

执行结果为:2011

注:在acess asp中获得系统当前时间用date()now(),其他datediff datepart dateadd等也同样可用,用法类似。

 注:datenamedatepart的功能大致相同,只是一个返回的是nvarchar ,一个返回的是int.

如果你是蜗牛,那你就不必害怕自己前进的缓慢,相信你自己,因为你的脚步永远不会落空,只要你一步步的向上爬,金字塔也必定被你踩在脚下。
原文地址:https://www.cnblogs.com/lx823706/p/5054830.html