MS SQL系统函数之DATEDIFF

DATEDIFF是常用的计算日期差函数,使用语法如下:

DATEDIFF ( datepart , startdate , enddate )

其中参数datepart有如下选项(只列出常用的参数):

datepart 缩写 解释
year yy,yyyy
month mm,m
day dd,d
week wk,w
hour hh 小时
minute mi,n 分钟
second ss,s
millisecond ms 毫秒

下面举例说明:

  • 计算两个日期之间有多少年
SELECT DATEDIFF(YEAR,‘2014-01-01‘,GETDATE()) AS YEARS

也可以用缩写形式

SELECT DATEDIFF(YY,‘2014-01-01‘,GETDATE()) AS YEARS

或者

SELECT DATEDIFF(YYYY,‘2014-01-01‘,GETDATE()) AS YEARS

返回结果3

  • 计算两个日期之间有多少月
SELECT DATEDIFF(MONTH,‘2017-01-01‘,GETDATE()) AS MONTHS

返回结果5



其他类型的用法都差不多,就不多说了

时间: 2024-12-23 15:22:12

MS SQL系统函数之DATEDIFF的相关文章

SQL系统函数的使用(实验五)

SQL系统函数的使用(试验5) 函数在查询语句中的使用 查询员工的姓名和日工资(保留1位小数): 查询并显示部门号为01和02的所有员工的姓名首字及岗位: 查询并显示所有员工的姓名及工龄: 查询1990年6月5号以前入职的员工姓名和岗位: 查询1990年入职的员工姓名和入职日期 (使用EXTRACT.TO_DATE分别实现): 查询6月份入职的员工姓名和入职日期: 1.查询员工的姓名和日工资(保留1位小数): select ename,round(sal/30,1) from emp; 2.查询

PCB MS SQL 标量函数(CLR) 实现转Json方法

一.准备需转为json的数据 在数据库中执行一段SQL返回的数据 需转换后的JSON字符串的效果 [{"TechName":"开料","ItemName":"综合利用率是否为最高","ItemPara":"/"},{"TechName":"开料","ItemName":"综合利用率","ItemPa

PCB MS SQL表值函数与CLR 表值函数 (例:字符串分割转表)

将字符串分割为表表经常用到,这里 SQL表值函数与CLR  表值函数,两种实现方法例出来如下: SELECT * FROM FP_EMSDB_PUB.dbo.SqlSplit('/','1oz/1.5oz/2oz/3oz') 效果如下: SQL实现表值函数 CREATE FUNCTION [dbo].[splitStr]( @s varchar(max), --待分拆的字符串 @split varchar(10) --数据分隔符 )RETURNS @re TABLE(id int IDENTIT

oracle/ms sql 系统表

sql server系统表详细说明 sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 syscurconfigs主数据库当前配置选项 sysdatabases主数据库服务器中的数据库 syslanguages主数据库语言 syslogins主数据库 登陆帐号信息 sysoledbusers主数据库 链接服务器登陆信息 sysprocesses主数据库进程 sysremotelogins主数据库 远程

PCB MS SQL 标量函数(CLR) 实现Socket发送消息

在PCB业务系统中,数据库中的数据总是被应用端主动连接数据库并操作数据,是否想过可以让数据库主动的将数据推送出去呢! 答应其实是可以的.比如有这样的应用场景! 当SQL SERVER数据库满足某个条件时,可以让数据库主动的将消息发送出去! 例如:数据库中的某个字段的数据发生变化或客户端触发了某个存储过程时(必须有触发点或任务计划),这时数据库可以主动的将信息发送到其它业务系统或监控平台等系统.下面介绍SQL方式用Socket发送消息. 一.C#写SQL SERVER(CLR)实现Socket发送

[转] SQL日期函数dayadd/datediff/datepart

1 函数一: 2 3 CREATE OR REPLACE FUNCTION dayadd(p_Component varchar2, 4 p_Number number, 5 p_Date date) RETURN DATE IS 6 /****************************************************************/ 7 /* 该函数为日期计算函数主要是计算] */ 8 /* 从当前日期开始经过多少日.季.月.年等后的日期. */ 9 /* 入参

SQL——系统函数

1) CASE CASE有两种使用形式:一种是简单的CASE函数,另一种是搜索型的CASE函数. [1]简单的 CASE 函数 Format: CASE input_expression WHEN when_expression THEN result_expression [ ...n ] [ ELSE else_result_expression  ] END Attention: 参数input_expression和when_expression的数据类型必须相同,或者可隐形转换. eg

SQL系统函数

1.with...as... 说明:把一大堆重复用到的SQL语句放在with as里面,取一个别名,后面查询就可以直接用它,这样对于大批量的SQL数据起到一个优化的作用,而且清楚明了. eg: with a as (select * from test) select * from a 2.case when then 说明:case具有两种格式,简单case函数和case搜索函数 a.简单case函数 eg: case sex when '1' then '男' when '2' then '

MS SQL自定义函数IsPositiveInteger

判断字符串是否为正整数,0开始的的数字不算. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[svf_IsPositiveInteger] ( @string NVARCHAR(MAX) ) RETURNS BIT --函数返BIT数据类型,是数字返回1,非数字返回0. AS BEGIN DECLARE @rtv BIT = 1 DECLARE @str NVARCHAR(MAX) = LTRIM(R