SQLServer常用的日期和时间函数梳理


今天给大家分享一下SQLServer常用的日期和时间函数知识笔记,希望对大家能有所帮助!

1、DATEADD(datepart,number,date)

作用:返回给指定日期加一个时间间隔后新的datetime值

参数说明:

datepart:指定为日期的哪部分增加数值。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。

number:指定要增加的数值。如果是非整数将会舍去小数部分。负数表示减去相应的时间间隔。

date:表示要处理的日期。

用法:

-- 在指定日期上加三个月

select DATEADD(mm,3,'2020-12-30');  

-- 指定日期减一天  

select DATEADD(day,-1,'2020-12-30');  

2、DATEDIFF(datepart,startdate,enddate)

作用:指定两个时间相差的时间数。比如天、小时、分钟等等。

参数说明:

datepart:指定返回的日期时间维度(天、小时、分钟)。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。

startdate:可以理解被减数。

enddate:可以理解减数。如果startdate大于enddate返回负值。

用法:

SELECT DATEDIFF(day,'2021-02-05','2021-02-09') AS DiffDate --返回 4天

3、DATENAME(deatpart,date)

作用:返回指定日期的指定部分的字符串。

参数说明:

datepart:指定返回的日期时间维度(天、小时、分钟)。

常用的值有:年(yy/yyyy),季度(qq/q),月份(mm/m),日(day/dd/d),周(wk/ww),小时(hh),分钟(mi,n),秒(ss/s)。

date:日期表达式

用法:

DateName(quarter,GetDate()) as '第几季度'

DateName(week,GetDate()) as '一年中的第几周'

DateName(DAYOFYEAR,GetDate()) as '一年中的第几天'

DateName(year,GetDate()) as '年'

DateName(month,GetDate()) as '月'

DateName(day,GetDate()) as '日'

DateName(hour,GetDate()) as '时'

DateName(minute,GetDate()) as '分'

DateName(second,GetDate()) as '秒'

4、DATEPART(deatpart,date)

返回指定日期中指定部分的整数。用法和DATENAME相似,返回值为整数。比如:

SELECT DATEPART(weekday,'20210209') --返回值为2

SELECT DateName(weekday,'20210209') --返回值为星期二

5、DAY|MONTH|YEAR 函数

作用:返回指定日期所在 日/月/年的部分。可以用DATEPART替换。

用法:

SELECT DAY('2021-02-09') --返回 9

SELECT MONTH('2021-02-09') --返回 2

SELECT YEAR('2021-02-09') --返回 2021

6、EOMONTH(input[,month_to_add])

作用:该函数是在SQLServer 2012中引入的。EOMONTH函数用来返回指定日期之前或之后某个月的最后一天的日期。

语法结构:=EOMONTH(开始日期,指定起始日期前后的月份)

用法;

DECLARE @date DATETIME = '2021-02-09';  

SELECT EOMONTH ( @date,7) AS Result;  --加七个月的月末日期 2021-09-30

SELECT EOMONTH ( @date,-2) AS Result;  -- 减两个月的月末日期 2020-12-31

7、FROMPARTS

作用:根据输入的年、月、日参数生成一个日期值,并返回。

格式:DATEFROMPARTS(year,month,day)

参数说明:

year:输入年份的整数值

month:输入1~12之间的月份数

day:输入年月所对应的day整数值

注意:如果上面三个参数,任意一个参数输入null,则返回null。

用法:SELECT DATEFROMPARTS (2020,2,09) AS [生成日期数据];  --2020-02-09

8、GETDATE()

这个太常见了,就是获取系统当前时间。

SELECT GETDATE() --返回结果 2021-02-09 08:28:11.307

9、GETUTCDATE()

返回当前的UTC时间。国内使用减八小时。

SELECT GETUTCDATE() --返回结果 2021-02-09 00:29:21.710

IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树二叉树二叉搜索树

树&二叉树 树是由节点和边构成,储存元素的集合。节点分根节点、父节点和子节点的概念。 二叉树binary tree,则加了“二叉”(binary),意思是在树中作区分。每个节点至多有两个子(child),left…

努比亚连续按下android版本,虚惊一场!努比亚Z17的Android 9.0真的不远了

01努比亚Z17将推送安卓9.0中关村在线消息:前不久,有消息传出努比亚Z17开发者版本系统将停止更新,并将永远停留在Android 7.0之后,引起了众多牛仔们的一篇叹息。大家纷纷在惋惜的同时,也着实对努比亚的做法有些不理解。…

SQLServer知识:sqlcmd用法笔记

今天给大家介绍sqlcmd用法笔记,希望对大家能有所帮助! 1、介绍 sqlcmd是一个 Microsoft Win32 命令提示实用工具,可以通过该命令工具实现SQL语句、脚本的执行,并且可以实现脚本任务的自动化。 2、使用场景 2.1 针对大文件脚本的执…

SQLServer书写规范梳理

今天给大家分享SQLServer书写规范笔记,希望对大家能有所帮助!1、在名称中仅使用字母、数字和下划线要在名称中仅使用字母、数字和下划线,主要是因为这些字符可以被方便的移植到编程语言中。在应用程序的数据库和编程语言中能够使用相同的属性字段名称&am…

visio调整形状位置_VISIO绘图技巧—三相桥式全控整流电路绘制

前些天有网友留言询问如何画三相桥式全控整流电路,一直没时间回复。今天得闲在家,给大家介绍一下如何来画。上图是一个三相桥式全控整流电路原理图,大部分图形元件在VISIO自带的图形库中都能找到,下面来看看如何找出我们需要的绘图…

电脑术语科普:什么是“显卡交火”?

有时候看到别人在讨论显卡交火的话题,相信大家对显卡交火这个术语了解得也比较少,那么它是什么意思呢? 显卡交火简单的说就是:让两块或者多块显卡在一台机子上协同工作,相比于使用一张显卡图形性能有所提升。 目前主流显卡交火有…

Mac查看本机ip地址

Mac查看本机ip地址 ifconfig | grep "inet" 箭头处为ip地址

SQL Azure与SQL Server两者的对比介绍,看完你就懂了!

今天给大家SQL Azure与SQL Server两者的对比介绍,看完你就懂了!1、SQL Server介绍SQL Server数据库服务方式是安装在客户提供的服务器内。客户负责硬件、、软件安装、安全性、数据库备份、灾难恢复等相关的运维工作。需要较高的人为运维成本。2、SQL Azu…

如何用HTML语言设计进度条,html5代码如何实现进度条功能?(示例)

本篇文章主要介绍html5代码如何实现进度条功能,希望对大家有所帮助。html5代码实现进度条功能具体代码示例如下:/*实现进度条的功能*/下载进度:/*js代码*/var pgdocument.getElementById(pg);setInterval(function(e){if(pg.value!100) pg.va…

Flink是什么

一:Flink是什么

SQL Server数据库架构与对象相关知识笔记

1、数据库架构简介数据库架构是从SQL Server2005版本之后引入的概念。数据库架构独立于创建它的数据厍用户而存在,每个对象都属于一个数据库架构(对象包括表、视图、存储过程、函数、触发器等)2、 数据库、架构和数据库对象数据库架构是一个独…

蒙提霍尔悖论(三门问题)终极分析(补充)附完整源码

上一篇文章分析了经典的蒙提霍尔问题,最后的结论是更换选择后有2/3的机会中奖。蒙提霍尔问题到此已经完结,但事实却并非如此。 在蒙提霍尔问题中,主持人事先知道汽车在哪个门后面,并且他一定会选择没有汽车的那扇门。如果我们稍稍…

电脑技巧:整理电脑键盘上每个键的含义

电脑键盘是把文字信息的控制信息输入电脑的通道,从英文打字机的键盘演变而来的。它最早出现在电脑上的时候,还是一种叫做“电传打字机”的部件。那些陌生的键盘按键都有什么用途? 很多新手不知道键盘上功能键和字母数字键以外的键盘按键有什么用&#x…

html统计表合并单元格的快捷键,合并单元格快捷键,小编教你excel怎么合并单元格快捷键...

合并单元格是我们经常要做的工作,如果有合并单元格的快捷键正是我们想要的,很遗憾,微软并没有直接提供这样一个快捷键,在excel表的运用中,难免会碰到希望将两个单元格合并的时候,那么怎么做呢?下…

SQLServer数据库实例相关知识笔记

1、概念介绍SQL实例实际上就是SQL服务器引擎,每个SQL Server数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。在一台计算机上,可以安装多个SQL SERVER,每个SQL SERVER就可以理解为是一个数据库实例。2、SQL实例分类SQL实例分为默…

内存分配策略

举个例子,比如eden区为16M,s0区为2M,s1区为2M,old区为40M 一个大对象20M,此时eden区,s0区,s1区都放不下,那个大对象直接进入老年带 M

数据制作

1.数据准备,我们需要一个train和valid文件夹,一个train.txt和val.txt(图片文件夹的位置可以任意,但是这两个txt文件的位置在data/fingervein/目录下) train和valid文件夹自然就存放着待训练的图片,train.tx…

SQLServer数据库文件组相关知识笔记

1、数据库文件组概念数据库文件被组织在称为“文件组”的逻辑组中。文件组是所创建对象(如表或索引)的目标容器,对象数据将分散在其所在目标文件组的文件中,文件组可以按你要求的方式来控制对象的物理位置。每个数据库有一个主文件…

jvm配置参数,查看大对象直接分配到老年代

看下如下代码: 配置参数 -Xms60m -Xms60m -XX:NewRatio2 -XX:SurvivorRatio8 -XX:PrintGCDetails 运行后看下如下,可以看到ParOldGen老年代,为used 20480K,也就20M,说明大对象直接分配到老年代 总结:

电脑组装笔记:手把手教你如何自己组装电脑

目录 第一步:安装CPU 第二步:安装内存条 第三步:CPU风扇安装 第四步:电源安装 第五步:主板装入机箱 第六步:硬盘、固态硬盘、光驱的安装 第七步:线路连接 第八步:显示器的连接 第九步…