SQL Server几个常用Date函数(二)

简介:

在上一节SQL Server几个常用Date函数(一)中我们介绍了下表中前两个date函数,本节继续学习下面三个函数。

函数

描述

GETDATE()

返回当前日期和时间

CONVERT()

用不同的格式显示日期/时间

DATEDIFF()

返回两个日期之间的时间

DATEPART()

返回日期/时间的单独部分

DATEADD()

在日期中添加或减去指定的时间间隔

3.DATEDIFF (datepart, startdate, enddate) 函数
  • 该函数用来计算两个日期之间的天(年、月…)数,enddate 减去 startdate,如果 startdate 晚于 enddate,则返回负值。其中,startdate表示起始时间;enddate表示结束时间;datepart表示时间间隔的计算单位,如年、月、日等。datepart 参数几种常用的值如下表所示:
  • Datepart表:

Depart

含义

yy, yyyy

qq, q

季度

mm, m

dy, y

一年中第几天

dd, d

wk, ww

一年中第几周

dw, w

一周中第几天,从周日开始算

hh

小时

mi, n

分钟

ss, s

ms

毫秒

mcs

微妙

ns

纳秒

  • 实例:查找最近一周内注册的用户

          SELECT * FROM UserInfo

          where DATEDIFF (DAY ,regtime,GETDATE ()) BETWEEN 0 AND 7

          image

4.SQL Server DATEPART(datepart,date函数
  • 该 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。其中date 参数是合法的日期表达式;datepart 参数见上表。
  • 实例:查看cathy注册的年、月、日

            SELECT DATEPART (YYYY ,regtime )as year,DATEPART (MM ,regtime ) as month,DATEPART (DD,regtime ) as date
            FROM UserInfo 
            WHERE sUserName ='CATHY'

            image

5.SQL Server DATEADD(datepart,number,date函数
  • 该 函数可以计算添加或减去相应时间间隔的时间。其中date 参数是合法的日期表达式。number 是您希望添加的间隔数,如果您指定一个带小数的值,则将小数截去且不进行舍入,对于未来的时间,此数是正数,对于过去的时间,此数是负数。datePart参数见DateDiff中的列表。
  • 实例:

          DECLARE @A DATE

          SET @A = GETDATE()

          SELECT DATEADD(DAY,3,@A)

          SELECT DATEADD(DAY,9,@A)

         clip_image001

6.关于季度查询的实例:

 

复制代码
declare  @date   datetime
set  @date = getdate()
-- 季度初,计算给定日期所在季度的第一天
select  dateadd(quarter, datediff(quarter, 0, @date), 0as  ' 当前季度的第一天 '
-- 季度末,计算给定日期所在季度的最后一天
select  dateadd(quarter, 1 + datediff(quarter, 0, @date), - 1as  ' 当前季度的最后一天 '
-- 上个季度初
select  dateadd(quarter, datediff(quarter, 0, @date) - 1, 0as  ' 当前季度的上个季度初 '
-- 上个季度末
select  dateadd(quarter, datediff(quarter, 0, @date), - 1as  ' 当前季度的上个季度末 '
-- 下个季度初
select  dateadd(quarter, 1 + datediff(quarter, 0, @date), 0as  ' 当前季度的下个季度初 '
-- 下个季度末
select  dateadd(quarter, 2 + datediff(quarter, 0, @date), - 1as  ' 当前季度的下个季度末 '
复制代码

 


    本文转自 陈敬(Cathy) 博客园博客,原文链接:http://www.cnblogs.com/janes/archive/2011/04/12/2013898.html ,如需转载请自行联系原作者
相关文章
|
SQL 人工智能 数据挖掘
如何在`score`表中正确使用`COUNT`和`AVG`函数?SQL聚合函数COUNT与AVG使用指南
本文三桥君通过score表实例解析SQL聚合函数COUNT和AVG的常见用法。详解COUNT(studentNo)、COUNT(score)、COUNT()的区别,以及AVG函数对数值/字符型字段的不同处理,特别指出AVG()是无效语法。实战部分提供6个典型查询案例及结果,包含创建表、插入数据的完整SQL代码。产品专家三桥君强调正确理解函数特性(如空值处理、字段类型限制)对数据分析的重要性,帮助开发者避免常见误区,提升查询效率。
625 0
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
SQL Oracle 关系型数据库
SQL优化-使用联合索引和函数索引
在一次例行巡检中,发现一条使用 `to_char` 函数将日期转换为字符串的 SQL 语句 CPU 利用率很高。为了优化该语句,首先分析了 where 条件中各列的选择性,并创建了不同类型的索引,包括普通索引、函数索引和虚拟列索引。通过对比不同索引的执行计划,最终确定了使用复合索引(包含函数表达式)能够显著降低查询成本,提高执行效率。
476 3
|
SQL 数据库 索引
SQL中COUNT函数结合条件使用的技巧与方法
在SQL查询中,COUNT函数是一个非常常用的聚合函数,用于计算表中满足特定条件的记录数
3236 5
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 关系型数据库 C语言
PostgreSQL SQL扩展 ---- C语言函数(三)
可以用C(或者与C兼容,比如C++)语言编写用户自定义函数(User-defined functions)。这些函数被编译到动态可加载目标文件(也称为共享库)中并被守护进程加载到服务中。“C语言函数”与“内部函数”的区别就在于动态加载这个特性,二者的实际编码约定本质上是相同的(因此,标准的内部函数库为用户自定义C语言函数提供了丰富的示例代码)
|
SQL Oracle 关系型数据库
SQL 中的大小写处理函数详解
【8月更文挑战第31天】
1207 1
|
SQL 数据挖掘
|
SQL 关系型数据库 MySQL
SQL日期函数
SQL日期函数
433 0
|
SQL 数据处理 数据库