SQL SERVER中常用日期函数的具体使用

1 GETDATE() 返回当前系统日期

SELECT GETDATE()

2 DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回

常数为正

SELECT DATEADD(YY,1,GETDATE())

等同于

SELECT DATEADD(YEAR,1,GETDATE())

常数为负数

SELECT DATEADD(YY,-2,GETDATE())

常数为小数(直接舍去小数部分)

SELECT DATEADD(YY,2.4,GETDATE())
SELECT DATEADD(YY,2.5,GETDATE())
SELECT DATEADD(YY,2.6,GETDATE())

3 DATEDIFF( 日期部分,日期1,日期2) 返回两个日期之间的差值,日期部分(日期1-日期2)

日期1>日期2

SELECT DATEDIFF(YY,‘2008/1/1',GETDATE())

日期1<日期2

SELECT DATEDIFF(YY,GETDATE(),‘2008/1/1')

4 DATENAME() 返回指定日期的日期部分的字符串(返回字符串)

SELECT DATENAME(YY,GETDATE())

'+'是连接符号

SELECT DATENAME(YY,GETDATE())+DATENAME(QQ,GETDATE()) --QQ 是QUATRER代表季度

5 DATEPART() 返回指定日期的日期部分的整数(返回整数)

SELECT DATEPART(YY,GETDATE())

'+'是加符号

SELECT DATEPART(YY,GETDATE())+DATEPART(QQ,GETDATE())

6 DAY() 返回指定日期的日部分的整数

SELECT DAY(GETDATE())

7 MONTH() 返回指定日期的月部分的整数

SELECT MONTH(GETDATE())

8 YEAR() 返回指定日期的年部分的整数

SELECT YEAR (GETDATE())

补充:

时间转换:

select convert(varchar(12),getdate(),101) 07/16/2010
select convert(varchar(12),getdate(),102) 2010.07.16
select convert(varchar(12),getdate(),103) 16/07/2010
select convert(varchar(12),getdate(),104) 16.07.2010
select convert(varchar(12),getdate(),105) 16-07-2010
select convert(varchar(12),getdate(),106) 16 Jul 2010
select convert(varchar(12),getdate(),107) Jul 16, 2010
select convert(varchar(12),getdate(),108) 11:58:49
select convert(varchar(12),getdate(),109) Jul 16 2010
select convert(varchar(12),getdate(),110) 07-16-2010
select convert(varchar(12),getdate(),111) 2010/07/16
select convert(varchar(12),getdate(),112) 20100716
select convert(varchar(12),getdate(),113) 16 Jul 2010
select convert(varchar(12),getdate(),114) 11:59:35:930

当月第一天

select  dateadd(mm,datediff(mm,0,getdate()),0)

本周星期一

select  dateadd(wk,datediff(wk,0,getdate()),0)

本年第一天

select dateadd(yyyy,datediff(yyyy,0,getdate()),0)

--本月最后1天

select dateadd(ms,-3,dateadd(mm,datediff(mm,0,getdate())+1,0))

--本周最后一天,注意sql精确到3毫秒。。。

select dateadd(ms,-3,dateadd(wk,datediff(wk,0,getDate())+1,0));

本月的第一个星期一

select dateadd(wk,dateDiff(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0);

到此这篇关于SQL SERVER中常用日期函数的具体使用的文章就介绍到这了,更多相关SQL SERVER常用日期函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SQLServer 日期函数大全(小结)

    一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC 2.--统计本周 SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=0 3.--统计本月 SELECT * FROM 表 WHERE da

  • SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍

    最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量. 首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorID),上报人(ReportPerson),上报时间(ReportTime)精确到毫秒,现在要做的统计是:(1)统计一定时间内[起止时间精确到毫秒](beginTime,endTime)每个人每天上报的错误个数(2)统计一定时间内[起止时间到精确到月](beginTime,endTime)按月统计每个人上报的

  • SQL SERVER中常用日期函数的具体使用

    1 GETDATE() 返回当前系统日期 SELECT GETDATE() 2 DATEADD(日期部分,常数,日期) 返回将日期的指定日期部分加常数后的结果返回 常数为正 SELECT DATEADD(YY,1,GETDATE()) 等同于 SELECT DATEADD(YEAR,1,GETDATE()) 常数为负数 SELECT DATEADD(YY,-2,GETDATE()) 常数为小数(直接舍去小数部分) SELECT DATEADD(YY,2.4,GETDATE()) SELECT D

  • SQL Server中常用截取字符串函数介绍

    SQL Server中一共提供了三个字符串截取函数:LEFT().RIGHT().SUBSTRING(). 一.LEFT()函数 函数说明如下: 语法:LEFT(character,integer). 参数介绍:参数1:要截取的字符串,参数2:截取字符个数. 返回值:返回从字符串左边开始指定个数的字符. 示例SQL:select LEFT('SQLServer_2012',3). 返回:SQL. 二.RIGHT()函数 函数说明如下: 语法:RIGHT(character,integer). 参

  • SQL Server中的RAND函数的介绍和区间随机数值函数的实现

    工作中会遇到SQL Server模拟数据生成以及数值列值(如整型.日期和时间数据类型)随机填充等等任务,这些任务中都要使用到随机数.鉴于此,本文将对SQL Server中随机数的使用简单做个总结 . T-SQL 随机有关的三个函数 RAND([seed] 此函数生成从0到1之间随机 float 值(详细说明查看https://technet.microsoft.com/zh-cn/library/ms177610(v=sql.90).aspx). CHECKSUM ( * | expressio

  • SQL Server中的排名函数与分析函数详解

    一.排名开窗函数概述 SQL Server的排名函数是对查询的结果进行排名和分组,TSQL共有4个排名函数,分别是:ROW_NUMBER.RANK.DENSE_RANK和NTILE. 他们和OVER()函数搭配使用,按照特定的顺序排名. 排名开窗函数可以单独使用ORDER BY 语句,也可以和PARTITION BY同时使用. PARTITION BY用于将结果集进行分组,开窗函数应用于每一组. ODER BY 指定排名开窗函数的顺序.在排名开窗函数中必须使用ORDER BY语句. 1.ROW_

  • SQL Server中的文本函数和图像函数介绍

    1.查找特定字符串PATINDEX 语法与字符串的patindex一样. 2.获取文本指针TEXTPTR SQLServer在存储文本类型(ntext.text)和图像数据类型(image)时,默认情况是与常见的基本数据类型(如char.int等)这样的数据时单独存储的,也就是说,如果一个表中的字段有基本类型和图像文本类型,那么在输入数据时,基本类型和图像文件数据并不是保存在同一个页面上,而是分离存储的.分离存储后,那么基本类型数据和文本图像类型数据所在的页面就是通过文本指针建立联系,是一个16

  • SQL Server中的逻辑函数介绍

    IIF: 根据布尔表达式计算为 true 还是 false,返回其中一个值. IIF 是一种用于编写 CASE 表达式的快速方法. 它将传递的布尔表达式计算为第一个参数,然后根据计算结果返回其他两个参数之一.也即,如果布尔表达式为 true,则返回 true_value:如果布尔表达式为 false 或未知,则返回 false_value. true_value 和 false_value 可以是任何类型. 语法: IIF ( boolean_expression, true_value, fa

  • Sql Server中常用的6个自定义函数分享

    在日常应用中,往往根据实际需求录入一些值,而这些值不能直接使用,所以Sql中经常会对字段值进行一些常规的处理.这里搜集了(提取数字.英文.中文.过滤重复字符.分割字符的方法),方便日后查询使用. 一.判断字段值是否有中文 --SQL 判断字段值是否有中文 create function fun_getCN(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@CN nvarchar(4000) s

  • SQL server中字符串逗号分隔函数分享

    继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做) 例:查找姓名为"张三,李二" 的数据此时在数据库里就要对此参数做处理如图: 函数代码如下 CREATE FUNCTION [dbo].[fnSplitStr] ( @sText NVARCHAR(Max), @sDelim CHAR(1) ) RETURNS @retArray TABLE ( value VARCHAR(100) ) AS BEGI

  • SQL Server创建用户定义函数

    一.UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且可以作为一个单元来进行调用. UDF和存储过程的主要区别在于返回结果的方式: 使用UDF时可传入参数,但不可传出参数.输出参数的概念被更为健壮的返回值取代了. 和系统函数一样,可以返回标量值,这个值的好处是它并不像在存储过程中那样只限于整形数据类型,而是可以返回大多数SQL Server数据类型. UDF有以下两种类型: 返回标量值的UDF. 返回表的UDF. 创建语法: CREATE FU

  • Sql Server中Substring函数的用法实例解析

    SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

随机推荐