SQL 时间函数 Datepart()与DateName()
1.Datepart()
返回代表指定日期的指定日期部分的整数
语法 Datepart(datepart,date)
返回类型 int
datepart:
日期部分 | 缩写 |
---|---|
year | yy, yyyy |
quarter | qq, q |
month | mm, m |
dayofyear | dy, y |
day | dd, d |
week | wk, ww |
weekday | dw日期部分返回对应于星期中的某天的数,例如:Sunday =1 |
Hour | hh |
minute | mi, n |
second | ss, s |
millisecond | ms |
declare @date datetime
set @date='2009-12-24 16:35:37.733'
select datepart(year,@date)--2009
select datepart(month,@date)--12
select datepart(day,@date)--24
select datepart(quarter,@date)--4
select datepart(dayofyear,@date)--358
select datepart(weekday,@date)--5
select datepart(week,@date)--52
select datepart(Hour,@date)--16
select datepart(minute,@date)--35
2.DateName()
返回代表指定日期的指定日期部分的字符串
语法 DateName(datepart , date )
返回类型 nvarchar
参数 datepart 同上表格
declare @date datetime
set @date='2009-12-24 16:35:37.733'
select datename(year,@date)--2009
select datename(month,@date)--December
select datename(day,@date)--24
select datename(quarter,@date)--4
select datename(dayofyear,@date)--358
select datename(weekday,@date)--Thursday
select datename(week,@date)--52
select datename(Hour,@date)--16
select datename(minute,@date)--35
3.其他日期函数
declare @date1 datetime,@date2 datetime
set @date1='2009-10-24 16:35:37.733'
set @date2='2009-12-24 16:35:37.733'
select DAY(@date1)--24
select MONTH(@date1)--10 具有确定性
select YEAR (@date1)--2009具有确定性
select DATEPART (dw, @date2)
select GETDATE() 不具有确定性
select GETUTCDATE() 不具有确定性
DATENAME() 不具有确定性
DATEADD(dd,@date1,1) 具有确定性
DATEDIFF 具有确定性
DATEPART 除了用作
DATEPART (dw, date) 外都具有确定性。dw 是工作日的日期部分,取决于由设置每周第一天的 SET DATEFIRST所设置的值。
具有确定性
--判断是否为时间
selectcast(isdate('2012-06-02 16:26:07.880') asvarchar)
--获得年
select cast(year('2012-06-0216:26:07.880') as varchar)
selectdatepart(yyyy,'2012-06-02 16:26:07.880')
selectdatename(yyyy,'2012-06-02 16:26:07.880')
--获得月
select cast(Month('2012-06-0216:26:07.880') as varchar)
selectdatepart(mm,'2012-06-02 16:26:07.880')
selectdatename(mm,'2012-06-02 16:26:07.880')
--获得日
select cast(day('2012-06-0216:26:07.880') as varchar)
selectdatepart(dd,'2012-06-02 16:26:07.880')
selectdatename(dd,'2012-06-02 16:26:07.880')
--获得时
selectdatepart(hh,'2012-06-02 16:26:07.880')
selectdatename(hh,'2012-06-02 16:26:07.880')
--获得分
select datepart(n,'2012-06-0216:26:07.880')
select datename(n,'2012-06-0216:26:07.880')
--获得秒
selectdatepart(ss,'2012-06-02 16:26:07.880')
selectdatename(ss,'2012-06-02 16:26:07.880')
--毫秒
selectdatepart(ms,'2012-06-02 16:26:07.880')
selectdatename(ms,'2012-06-02 16:26:07.880')
--季节
selectdatepart(qq,'2012-06-02 16:26:07.880')
selectdatename(qq,'2012-06-02 16:26:07.880')
--一年中的第几天
selectdatepart(dy,'2012-06-02 16:26:07.880')
selectdatename(dy,'2012-06-02 16:26:07.880')
--一年中的第几周
selectdatepart(wk,'2012-06-02 16:26:07.880')
selectdatename(wk,'2012-06-02 16:26:07.880')
--星期
selectdatepart(dw,'2012-06-02 16:26:07.880') --SET DATEFIRST 7每周第一天
selectdatename(dw,'2012-06-02 16:26:07.880')
SQL 时间函数 Datepart()与DateName()的更多相关文章
- Sql时间函数
一.sql server日期时间函数 Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间 ...
- sql 时间函数大全
1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如:向日期加上2天 se ...
- 几个常用的SQL 时间函数
--当月第一天declare @startFirstDate datetimeset @startFirstDate=dateadd(dd,datediff(dd,0,getdate()),-day( ...
- sql 时间函数用法
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- Oracle常用SQL时间函数
1.查询当前日期和时间 select sysdate from dual; 2.查询本月最后一天 select last_day(sysdate) from dual; 3.查询前后多少月 ) fro ...
- sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数
一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...
- SQL Server 日期函数:EOMonth、DateFormat、Format、DatePart、DateName
一,月份的最后一天 函数 EOMonth 返回指定日期的最后一天 EOMONTH ( start_date [, month_to_add ] ) 1,对于start_date 有两种输入方式,能够转 ...
- ylb:SQL Server中的时间函数
ylbtech-SQL Server:SQL Server-SQL Server中的时间函数 SQL Server中的时间函数. 1,SQL Server中的时间函数 返回顶部 1. 当前系统日期 ...
- SQL SERVER时间函数
本篇文章还是学习<程序员的SQL金典>内容的记录,此次将讲解的是SQL SERVER的时间函数. 本文只讲SQL SERVER支持的时间函数(其它数据库这里就不罗列了,想看更多的可以关注& ...
随机推荐
- Redis-ha(sentinel)
redis的sendtinel 是用来管理多个redis服务器的 作用 • 监控:监控主从服务器是否运作正常(通过给服务器发送心跳包的方式) • 提醒:当某个Redis服务器出现异常时,可以通过 ...
- 0052 Spring MVC入门--环境搭建--第一个入门示例
Spring MVC是什么 Spring是一个框架,包括了MVC.IoC.AOP等等组件 MVC是一种思想,并非Spring框架独有,全称是Model.View.Controller,即模型.视图.控 ...
- tp框架事务处理
当我们需要同时对多个表进行操作的时候就有必要进行事务处理,首先你的数据库和数据表必须满足事务处理,即表引擎为InnoDB 下面为一个demo //事务:表必须是innodb //删除主表$mod ...
- string 大小写转换
STL的algorithm库确实给我们提供了这样的便利,使用模板函数transform可以轻松解决这个问题,开发人员只需要提供一个函数对象,例如将char转成大写的toupper函数或者小写的函数 ...
- pow函数
pow函数如果直接强制类型转换成int,会导致精度的损失.如果是int的幂计算,建议重写函数.或者用double型进行计算.
- winform 打印条码
一个winform打印功能的示例 操作步骤:1.新建winform项目及创建窗体2.拖取 打印 相关控件 PageSetupDialog . PrintDialog . PrintDocument . ...
- iOS开发中如遇到频繁的Http请求,取消之前已经发送的Http
主要精髓在于 第一点:不要initialize a new AFHTTPSessionManager object everytime 一定要把manager用成全局的 第二点:把请求返回的task对 ...
- SIGBUS 和 SIGSEGV
一.导致SIGSEGV 1.试图对仅仅读映射区域进行写操作 . 2.訪问的内存已经被释放,也就是已经不存在或者越界. 3.官方说法是: SIGSEGV --- Segment Fault. ...
- 错误 1 error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead
错误简介 在VS 2012 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误: 原因是Visual C++ 2012 使用了更加安全的 run-time library ro ...
- 使用心跳机制实现CS架构下多客户端的在线状态实时更新以及掉线自动重连
此文讲述的内容是一个实际项目开发中的一部分内容,笔者将亲身经历写成文章. [背景] 现需要实现这样的功能:有多个客户端连着同一个服务器.服务器和客户端之间需要“互相”知道彼此的连接状态.比如在某一时刻 ...