字符串函数:

SQL Server Date 函数

下面的表格列出了 SQL Server 中最重要的内建日期函数:

函数 描述
GETDATE() 返回当前的日期和时间
DATEPART() 返回日期/时间的单独部分
DATEADD() 在日期中添加或减去指定的时间间隔
DATEDIFF() 返回两个日期之间的时间
CONVERT() 用不同的格式显示日期/时间

 

(1)、GETDATE() 函数从 SQL Server 返回当前的日期和时间。

 图片 1

语法

GETDATE()


图片 2

实例

下面是 SELECT 语句:

SELECT GETDATE() AS CurrentDateTime

结果如下所示:

CurrentDateTime
2008-11-11 12:45:34.243

(2)、

DATEPART()
函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

图片 3

语法

DATEPART(datepart,date)

date 参数是合法的日期表达式。datepart 参数可以是下列的值:

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

 

实例

假设我们有如下的 “Orders” 表:

OrderId ProductName OrderDate
1 Jarlsberg Cheese 2008-11-11 13:23:44.657

下面是 SELECT 语句:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear, DATEPART(mm,OrderDate) AS
OrderMonth, DATEPART(dd,OrderDate) AS OrderDay, FROM Orders WHERE
OrderId=1

结果如下所示:

OrderYear OrderMonth OrderDay
2008 11 11

(3)、

DATEADD() 函数在日期中添加或减去指定的时间间隔。

时间日期函数:

语法

DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number
是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

datepart 参数可以是下列的值:

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

 

实例

假设我们有如下的 “Orders” 表:

OrderId ProductName OrderDate
1 Jarlsberg Cheese 2008-11-11 13:23:44.657

现在,我们想要向 “OrderDate” 添加 45 天,这样就可以找到付款日期。

我们使用下面的 SELECT 语句:

SELECT OrderId,DATEADD(day,45,OrderDate) AS OrderPayDate FROM Orders

结果:

OrderId OrderPayDate
1 2008-12-26 13:23:44.657

(4)、

DATEDIFF() 函数返回两个日期之间的天数。

SELECT @@DATEFIRST AS ‘1st Day’, DATEPART(dw, GETDATE()) AS ‘Today’

语法

DATEDIFF(datepart,startdate,enddate)

startdate 和 enddate 参数是合法的日期表达式。datepart
参数可以是下列的值:

datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

SELECT GETDATE()

实例

现在我们想要获取两个日期之间的天数。

我们使用下面的 SELECT 语句:

SELECT DATEDIFF(day,’2008-06-05′,’2008-08-05′) AS DiffDate

结果:

DiffDate
61

发表评论

电子邮件地址不会被公开。 必填项已用*标注