本文实例讲述了SQL Server日期加减函数DATEDIFF与DATEADD用法。分享给大家供大家参考,具体如下:

SQL Server 日期的加减函数: DATEDIFF DATEADD

DATEDIFF: 返回跨两个指定日期的日期边界数和时间边界数, 语法:DATEDIFF ( datepart , startdate , enddate ) 用 enddate 减去 startdate

注:datepart 指定应在日期的哪一部分计算差额的参数,其日期相减时,只关注边界值,例:

SELECT DATEDIFF(YEAR,'2008-12-31','2009-1-1')

DATEADD : 返回给指定日期加上一个时间间隔后的新 datetime 值。 语法:DATEADD (datepart , number, date )

注: datepart 指定要返回新值的日期的组成部分

number 使用来增加 datepart 的值。正数表示增加,负数表示减少,如果是小数则忽略小数部分,且不做四舍五入。

通过 DATEDIFF 和 DATEADD 的一些日期计算

1) 一年的第一天

SELECT DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE()),0)

2) 一个季的第一天

SELECT DATEADD(Quarter,DATEDIFF(Quarter,0,GETDATE()),0)

3) 一个月的第一天

SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0)

4) 一周的第一天

SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
SELECT DATEADD(DAY,DATEDIFF(DAY,0,GETDATE()),0)
SELECT DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE()),0))

7) 本月的最后一天

SELECT DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0))

i)

SELECT DAY(DATEADD(ms,-3,DATEADD(MONTH,DATEDIFF(MONTH,0,GETDATE())+1,0)))
SELECT 32-DAY(GETDATE()+(32-DAY(GETDATE())))
SELECT DATEADD(ms,-3,DATEADD(YEAR,DATEDIFF(YEAR,0,GETDATE())+1,0))
SELECT DATEADD(DAY,1-DATEPART(weekday,GETDATE()),GETDATE())
SELECT DATEADD(DAY,7-DATEPART(WeekDay,GETDATE()),GETDATE())SELECT DATEADD(weekday,DATEDIFF(weekday,0,DATEADD(DAY,6-DATEPART(day,GETDATE()),GETDATE())),0)

CONVERT 中的 Style. 参数:108 和 114 可以只得到时间。

SELECT CONVERT(NVARCHAR(12),GETDATE(),108) ---12:41:15SELECT CONVERT(NVARCHAR(12),GETDATE(),114) ---12:43:12:590

DATEADD日期函数

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

日:
在当前日期上加两天

select DATEADD(day,2,'2014-12-30') 2015-01-01
select DATEADD(dd,2,'2014-12-30')

月:
在当前日期上加两个月

select DATEADD(mm,2,'2014-12-30') 结果:2015-02-28
select DATEADD(MONTH,2,'2014-12-30') 结果:2015-02-28

年:

在当前日期上加两年

select DATEADD(yy,2,'2014-12-30') 结果:2016-12-30
select DATEADD(year,2,'2014-12-30') 结果:2016-12-30

语法

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

更多关于SQL Server相关内容感兴趣的读者可查看本站专题:《SQL Server日期与时间操作技巧总结》、《SQL Server查询操作技巧大全》、《SQL Server存储过程技巧大全》、《SQL Server索引操作技巧大全》及《SQL Server常用函数汇总》

希望本文所述对大家SQL Server数据库程序设计有所帮助。

更多相关文章

  1. SQL Server之JSON 函数详解
  2. ES6 变量声明,箭头函数,数组方法,解构赋值,JSON,类与继承,模块化练习
  3. 箭头函数的基础使用
  4. Python技巧匿名函数、回调函数和高阶函数
  5. 浅析android通过jni控制service服务程序的简易流程
  6. Android(安卓)bluetooth介绍(四): a2dp connect流程分析
  7. Android架构分析之使用自定义硬件抽象层(HAL)模块
  8. Android中OpenMax的适配层
  9. android 包管理系统分析

随机推荐

  1. Android Layout属性详解
  2. 布局技巧和列表控件
  3. Android ScrollView滚动条
  4. android sdk的快速安装法
  5. Android基本控件TextView
  6. Android应用程序的debug属性
  7. GridView相关
  8. Android Activity 的四种启动模式 lunchM
  9. android 布局学习
  10. Android(安卓)网络图片加载