(后端)SQL Server日期时间函数
转自博客园:
1、获取当前日期GetDate
getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间。其语法格式为getdate()。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。
示例:
select getdate() --输出 2013-03-09 15:16:00.570
2、GetUTCDate 获取UTC时间值
select GETUTCDATE() -- 2013-06-18 08:02:53.253
这个获取到的是UTC时间。
3、获取年度信息YEAR
year函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:
select year(getdate()) --输出 2013
4、获取月份信息MONTH
month函数以int数据类型的格式返回特定日期的月份信息。其语法格式为month(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:
select month(getdate()) --输出 3
5、获取天数信息day
day函数以int数据类型的格式返回特定日期的天数信息。其语法格式为day(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:
select day(getdate()) --输出 9
6、获取任意时间部分DatePart
datepart函数以int数据类型的格式返回某个日期时间数据的指定部分。
1、语法格式:
datepart( datepart , date数据 )
datepart:特定的要返回的数据的格式代码。
date数据:一个可以解析为time、date、smalldatetime、datetime、datetime2或者datetimeoffset值的表达式、列表表达式、用户定义的变量或字符串文字。
2、Datepart取值
Datepart部分的取值如下表所示:
| 说明 | 取值 |
| 返回年度信息 | Year、YYYY、YY |
| 返回月份信息 | Month、MM、M |
| 返回日期信息 | Day、DD、D |
| 返回周信息 | Week、WK、WW |
| 返回每周星期几信息 | WeekDay、DW |
| 返回季度信息 | Quarter、QQ、Q |
| 返回一年中第几天的信息 | DayOfYear、DY、Y |
| 返回小时信息 | Hour、HH |
| 返回分钟信息 | Minute、MI、N |
| 返回秒信息 | Second、SS、SS |
| 返回毫秒信息 | MillSecond、MS |
7、获取任意时间部分DateName
返回表示指定日期的指定日期部分的字符串。
SELECT DateName(Quarter,GetDate()) --输出 2(6月)
示例:
select datepart(Quarter,getdate()) --输出 1 现在是第几季度
8、日期加法DATEADD
dateadd函数将某个日期加上一个特定的时间间隔值后返回datetime数据类型的值。
1、语法格式:
dateadd (datepart,numer,date数据)
numer:用于与detepart相加的值。如果指定了非整数值,则将舍弃该值的小数部分。
date数据:一个用于解析为time、date、smalldatetime、datetime、datetime2、或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。
datepart:时间部分。上节。
示例:
select getdate() --输出 2013-03-09 16:03:59.293
select dateadd(YYYY,10,getdate()) --加了十年 输出2023-03-09 16:04:36.893
8、日期减法DATEDIFF
datediff函数将两个特定的日期数据相减,得到的结果可以按照detepart指定的格式返回特定的数据。
1、语法格式:
datediff(datepart,startdate,enddate)
执行中将使用enddate减以startdate的值,如果startdate晚于enddate将返回负值。执行结果如果超出整数范围将提示错误。
startdate:一个可以解析为time、date、smalldate、datetime、datetime2或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。
enddate:一个可以解析为time、date、smalldate、datetime、datetime2或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。
datepart:时间部分。
示例:
select datediff(YYYY,'2011-11-11','2012-12-12') --输出1 年份相减之后的确是1
select datediff(day,'2011-11-11','2012-12-12') --输出 397 两个日期相差的天数
2013-3-13日补充,用此方法查询当前的记录:
select * from test where datediff(day,Rq,getdate()) = 0 --其中Rq为日期列,此行代码的意思是什么呢?getdate()减去Rq列的值为0,Rq列的值与今天相减,号数为0
9、SQLServer 2008中新增的日期时间型函数
1、获取系统时间 SysDateTime
sysdatetime函数以datetime2(7)数据类型的格式返回当前系统的日期和时间。其语法格式为sysdatetime()。返回值有七个小数位,但只精确到10毫秒。数据库偏移量未包含在内。
SELECT SYSDATETIME() --2013-06-17 22:17:59.0610211
2、获取当前日期和时间 SysDateTimeOffset
sysdatetimeoffset函数以datetimeoffset(7)数据类型的格式返回当前系统的日期和时间。其语法格式为sysdatetimeoffset()。返回值有七个小数位,但只精确到10毫秒。数据库时区偏移量包含在内。
SELECT sysdatetimeoffset() --2013-06-17 22:18:30.1788009 +08:00
3、获取系统UTC时间 SysUTCDateTime
select SysUTCDateTime() -- 2013-06-18 08:09:17.8229505
10、Current_TimeStamp当前数据库系统时间戳
返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量。 此值得自运行 SQL Server 实例的计算机的操作系统。等价于GetDate();
SELECT CURRENT_TIMESTAMP --2013-06-18 16:16:10.007
11、SWITCHOFFSET更改时间偏移量
SwitchOffset更改 DateTimeOffset 值的时区偏移量并保留 UTC 值。
SELECT SysDateTimeOffset() -- 2013-06-18 16:40:34.4322865 +08:00
SELECT SWITCHOFFSET (SysDateTimeOffset(), '+07:00') --2013-06-18 15:40:53.5403794 +07:00
12、TodateTimeOffset datetime2转datetimeoffset
返回从 datetime2 表达式转换而来的一个 datetimeoffset 值。
SELECT SysDateTimeOffset() -- 2013-06-18 16:40:34.4322865 +08:00
SELECT TodateTimeOffset(GetDate(),'+07:00') --2013-06-18 16:46:10.537 +07:00
留意到以上代码是只更改时区,但是不更改时值。
SysDateTime 和 SysUTCDate 在秒小数部分精度上要比 GetDate 和 GetUTCDate 高。 SysDateTimeOffset 包含系统时区偏移量。 SysDateTime、SysUTCDate 和 SysDateTimeOffset 可分配给采用任意日期和时间类型的变量。
13、判断是否为日期数据isDate
ISDATE函数可以验证某个输入值是否为有效的日期数据
1、语法结构:
ISDATE(expression)
2、返回值
若表达式为有效日期则返回 1 ,否则返回 0 。
示例:
select isdate('2012-12-12') -- 输出1
select isdate('xxxx-12-12') -- 输出0
http://technet.microsoft.com/zh-cn/library/ms186724.aspx#ModifyDateandTimeValues
(后端)SQL Server日期时间函数的更多相关文章
- sql server日期时间函数
From:http://www.cnblogs.com/linzheng/archive/2010/11/17/1880208.html 1. 当前系统日期.时间 select getdate() ...
- sql server日期时间转字符串
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- SQL Server日期时间格式转换字符串
在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...
- sql server日期时间转字符串(转)
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- SQL Server日期时间格式转换字符串详解
本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...
- sql server 日期时间与字符串的转换
一.sql server日期时间函数Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基 ...
- sql server 日期时间数据类型
1.日期和时间数据类型 (1)在sqlserver 2008之前,SQL Server 支持datetime 和 smalldatetime 两种日期时间数据类型.这两种数据类型日期和时间是不可分割的 ...
- Sql Server 日期格式化函数
Sql Server 中一个非常强大的日期格式化函数Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVE ...
随机推荐
- maven 下载镜像文件卡,下载pom文件慢的问题
问题原因: maven默认的镜像库URL为 http://maven.net.cn/content/groups/public/ 由于网络原因,可能导致响应速度超级慢,或者无法效应: 解决方法: 配置 ...
- 如何从GitHub仓库clone项目
自己也已经多次接触了git了,但是因为工作用svn,自己平时也很少用git,所以每次都是用的时候可能还可以,等过一段时间再来用的时候,就又忘得差不多了,所以索性自己写个博客,自己记得自己也好懂,而且熟 ...
- .net 连接kafka
新建两个控制台项目,一个生产者,一个消费者,使用Nuget安装Confluent.Kafka 生产者 static void Main(string[] args) { var config = ne ...
- 网络IP地址
IP地址分类 A类网络的IP地址范围为1.0.0.1-127.255.255.254: B类网络的IP地址范围为:128.1.0.1-191.255.255.254: C类网络的IP地址范围为:192 ...
- C语言实现多态
C语言实现多态 首先声明,大神就不要看了.小弟水平有限. C++多态是通过虚函数表实现的,类似于JAVA多态的实现方式.关于Java多态的实现方式可以看我之前写过的一篇不是很完善的文章.从JVM角度看 ...
- SQL优化原则(转)
一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统 ...
- 经典面试题SALES TAXES思路分析和源码分享
题目: SALES TAXES Basic sales tax is applicable at a rate of 10% on all goods, except books, food, and ...
- netty源码解解析(4.0)-8 ChannelPipeline的设计
io.netty.channel.ChannelPipeline 设计原理 上图中,为了更直观地展示事件处理顺序, 故意有规律地放置两种handler的顺序,实际上ChannelInboundHa ...
- 一张图读懂PBN飞越转弯衔接TF/CF航段计算
在PBN旁切转弯的基础上,再来看飞越转弯接TF(或CF)航段,保护区结构上有些相似,只是转弯拐角处的保护区边界有“简化”,其余部分是相近的. FlyOver接TF段的标称航迹有一个飞越之后转弯切入航迹 ...
- Linux终端命令全面介绍
Linux终端命令 一.文件目录类 1.建立目录:mkdir 目录名2.删除空目录:rmdir 目录名3.无条件删除子目录: rm -rf 目录名4.改变当前目录:cd 目录名 (进入用户home目录 ...