sql server DateTime相关内置函数总结
本文部分内容参考msdn帮助文档和博客园!汇总备忘
1、获取当前日期
getdate()函数以datetime数据类型的格式返回当前SQLServer服务器所在计算机的日期和时间。其语法格式为getdate()。返回值舍入到最近的秒小数部分,精度为.333秒数据库十七偏移量不包含在内。
示例:
SELECT GETDATE() --输出 2016-03-24 12:35:03.333
getutcdate()函数返回表示当前的 UTC 时间得自当前的本地时间和运行 SQL Server 的计算机操作系统中的时区设置。此值表示当前的 UTC 时间(注:世界统一时间)。
SELECT GETUTCDATE() --输出 2016-03-24 04:35:03.333
2、获取年度信息YEAR,月份信息MONTH,天数信息day
year函数以int数据类型的格式返回特定日期的年度信息。其语法格式为YEAR(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
示例:getdate() ='2016-03-24 12:54:41.463'
SELECT YEAR(GETDATE()) --输出 2016
month函数以int数据类型的格式返回特定日期的月份信息。其语法格式为month(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
SELECT MONTH(GETDATE()) --输出 3
day函数以int数据类型的格式返回特定日期的天数信息。其语法格式为day(date数据)。其中的date数据时一个可以解析为time、date、smalldatetime、datetime、datetime2或datetimeoffset值的表达式,列表达式、用户定义的变量或字符串文字。
SELECT DAY(GETDATE()) --输出 24
3、获取任意时间部分DateName
返回表示指定 date 的指定 datepart 的字符串。
语法:
datename(datepart,date)
参数:datepart是返回的date的一部分。下表列出了所有有效的datepart参数。
注:getdate() ='2016-03-24 12:54:41.463'
| datepart | 缩写形式 | 返回值 参考 | 描述 |
| year | yy,yyyy | 2016 | 返回年 |
| quarter | qq,q | 1 | 返回第几个季度 |
| month | mm,m | 03 | 返回月 |
| dayofyear | dy,y | 84 | 一年中的第几天 |
| day | dd,d | 24 | date中的天数部分 |
| week | wk,ww | 13 | 一年中的第几周 |
| weekday | dw,w | 星期四 | 返回星期几 |
| hour | hh | 12 | date中的小时部分 |
| minute | mi,n | 54 | date中的分钟部分 |
| second | ss,s | 41 | date中的秒部分 |
| millisecond | ms | 463 | date中的毫秒部分 |
4、获取任意时间部分DatePart
datepart函数以int数据类型的格式返回某个日期时间数据的指定部分。
1、语法格式:
datepart( datepart , date)
datepart:特定的要返回的数据的格式代码。
date数据:一个可以解析为time、date、smalldatetime、datetime、datetime2或者datetimeoffset值的表达式、列表表达式、用户定义的变量或字符串文字。
2、Datepart取值
Datepart部分的取值如下表所示:
| datepart | 缩写形式 | 返回值 参考 | 描述 |
| year | yy,yyyy | 2016 | 返回年度信息 |
| quarter | qq,q | 1 | 返回第几个季度 |
| month | mm,m | 03 | 返回月份信息 |
| dayofyear | dy,y | 84 | 一年中的第几天 |
| day | dd,d | 24 | date中的天数部分 |
| week | wk,ww | 13 | 一年中的第几周 |
| weekday | dw,w | 5 | 返回星期几 |
| hour | hh | 12 | date中的小时部分 |
| minute | mi,n | 54 | date中的分钟部分 |
| second | ss,s | 41 | date中的秒部分 |
| millisecond | ms | 463 | date中的毫秒部分 |
5、日期加法DATEADD
dateadd函数将某个日期加上一个特定的时间间隔值后返回datetime数据类型的值。
1、语法格式:
dateadd (datepart,numer,date)
numer:用于与detepart相加的值。如果指定了非整数值,则将舍弃该值的小数部分。
date数据:一个用于解析为time、date、smalldatetime、datetime、datetime2、或datetimeoffset值的表达式、列表达式、用户定义的变量或字符串文字。
datepart:时间部分。上节。
示例:
select getdate() --输出 2016-03-24 16:03:59.293
select dateadd(YYYY,10,getdate()) --加了十年 输出2026-03-24 16:04:36.893
6、日期减法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
7、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
8、Current_TimeStamp当前数据库系统时间戳
返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量。 此值得自运行 SQL Server 实例的计算机的操作系统。等价于GetDate();
SELECT CURRENT_TIMESTAMP --2013-06-18 16:16:10.007
9、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
10、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 可分配给采用任意日期和时间类型的变量。
11、判断是否为日期数据isDate
ISDATE函数可以验证某个输入值是否为有效的日期数据
1、语法结构:
ISDATE(expression)
2、返回值
若表达式为有效日期则返回 1 ,否则返回 0 。
示例:
select isdate('2012-12-12') -- 输出1
select isdate('xxxx-12-12') -- 输出0
12、eomonth 返回包含指定日期的月份的最后一天
适用范围:SQL Server(SQL Server 2012 至当前版本),Azure SQL Database。
语法:
eomonth ( start_date [, month_to_add ] )
示例:
DECLARE @date DATETIME = GETDATE();
SELECT EOMONTH ( @date ) AS 'This Month';--当月
SELECT EOMONTH ( @date, 1 ) AS 'Next Month';--下一月
SELECT EOMONTH ( @date, -1 ) AS 'Last Month';--上一月
GO
sql server DateTime相关内置函数总结的更多相关文章
- SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程(支持单表或多表结查集分页)
SQL Server利用RowNumber()内置函数与Over关键字实现通用分页存储过程,支持单表或多表结查集分页,存储过程如下: /******************/ --Author:梦在旅 ...
- SQL入门(2): Oracle内置函数-字符/数值/日期/转换/NVL/分析函数与窗口函数/case_decode
本文介绍Oracle 的内置函数. 常用! 一. 字符函数 ASCII 码与字符的转化函数 chr(n) 例如 select chr(65) || chr(66) || chr(67) , ch ...
- 洗礼灵魂,修炼python(36)--面向对象编程(6)—类的相关内置函数issubclass,hasattr等
啥?我靠,类也有内置函数?哈哈,确实有的.有哪些呢?请往下看 issubclass(cls, class_or_tuple, /) 1.基本属性: 方法全是特殊方法 2.使用方法:判断一个类是否由另一 ...
- C#字符串string以及相关内置函数
C#字符串string函数 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...
- python面向对象的多态-类相关内置函数-类内置魔法函数-迭代器协议-上下文管理-04
多态 一种事物具备不同的形态 例如:水 --> 固态.液态.气态 多态:# 多个不同对象可以相应同一个对象,产生不同的结果 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以 ...
- SQL Server 2016将内置R语言?
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:随着大数据成为一个BuzzWord,和大数据相关的技术也变得越来越火热,其中就包括R语 ...
- SQL Server 2016将内置R语言
题记:随着大数据成为一个BuzzWord,和大数据相关的技术也变得越来越火热,其中就包括R语言.而据说SQL Server 2016将会内置R语言支持? R语言作为一个存在很久的语言,在大数据热炒之后 ...
- (二)SQL注入常用的内置函数整理(以MySql为例)
[1]@@datadir 函数作用:返回数据库的存储目录构造SQL语句 select @@datadir; [2]@@version_compile_os 函数作用:查看服务器的操作系统SQL语句 ...
- Python对象相关内置函数
针对一个对象,通过以下几个函数,可以获取到该对象的一些信息. 1.type() ,返回某个值的类型 >>> type() <class 'int'> >>&g ...
随机推荐
- javascript中类的属性研究
原文:javascript中类的属性研究 本篇文章主要针对javascript的属性进行分析,由于javascript是一种基于对象的语言,本身没有类的概念,所以对于javascript的类的定义有很 ...
- 浏览器扩展系列————在WPF中定制WebBrowser快捷菜单
原文:浏览器扩展系列----在WPF中定制WebBrowser快捷菜单 关于如何定制菜单可以参考codeproject上的这篇文章:http://www.codeproject.com/KB/book ...
- uboot中raise:Signal #8 caught的根本原因
在移植uboot时编译一切正常,但uboot启动中载入自己写的网卡驱动出现故障,一直在打印raise:Signal #8 caught google 百度了一番,也有非常多人遇到了这个问题,大家都说 ...
- spark in eclipse---Spark学习笔记3
想要调试源码,还是要放到eclipse里面去.先生成eclipse项目,下载依赖包 victor@victor-ubuntu:~/software/incubator-spark-0.8.1-incu ...
- Android自己定义控件系列五:自己定义绚丽水波纹效果
尊重原创!转载请注明出处:http://blog.csdn.net/cyp331203/article/details/41114551 今天我们来利用Android自己定义控件实现一个比較有趣的效果 ...
- 关于Android开发中导出jar包后的资源使用问题解决
我们经常遇到一个需求,就是给别人使用我们工程的时候,为了能够屏蔽代码,把代码封装成jar包提供给第三方使用,但是这样我们的资源文件怎么给对方用呢? 其实并不用这么的复杂,下面就介绍一下具体的方法 一, ...
- servlet请求转发与重定向的差别------用生活实例来形象说明两者的差别
1,请求重定向:client行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保留,地址栏的URL地址会改变. 2,请求转发:server行为,req ...
- 十款最佳Node.js MVC框架
十款最佳Node.js MVC框架摘要:Node.js是JavaScript中最为流行的框架之一,易于创建可扩展的Web应用.本文分享十款最佳的JavaScript框架. Node.js是JavaSc ...
- 基于Web的IIS管理工具
Servant:基于Web的IIS管理工具 Servant for IIS是个管理IIS的简单.自动化的Web管理工具.安装Servant的过程很简单,只要双击批处理文件Install Serva ...
- iOS基础 - NSURLSession
使用URLSession所有的网络访问都是有缓存的,缓存文件自动保存在tmp文件夹中,URLSession本身实现的时候,就是少量多次的! l 使用defaultSessionConfiguratio ...