SQL日期和时间函数
使用这些函数可以计算日期和时间值。例如,假设您希望了解通常在一周中哪一天的销售量最高。使用 DAYOFWEEK 函数,您可以创建一个公式来标识每天的销售订单数量。再比如,假设您希望比较在过去的一年中的季度收益。使用 QUARTER 函数,您可以按季度划分整年的销售量。
日期和时间函数可使用以下数据类型:String、Integer 和 DateTime。其默认格式由本地计算机的区域设置决定。
datepart参数
datepart |
缩写 |
year |
yy, yyyy |
quarter |
qq, q |
month |
mm, m |
dayofyear |
dy, y |
day |
dd, d |
week |
wk, ww |
hour |
hh |
minute |
mi, n |
second |
ss, s |
millisecond |
ms |
microsecond |
mcs |
nanosecond |
ns |
用来获取日期和时间部分的函数
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
DATENAME |
DATENAME (datepart , date ) |
返回表示指定日期的指定datepart 的字符串。 |
nvarchar |
不具有确定性 |
DATEPART |
DATEPART (datepart , date ) |
返回表示指定 date 的指定datepart 的整数。 |
int |
不具有确定性 |
DAY |
DAY ( date ) |
返回表示指定 date 的“日”部分的整数。 |
int |
具有确定性 |
MONTH |
MONTH ( date ) |
返回表示指定 date 的“月”部分的整数。 |
int |
具有确定性 |
YEAR |
YEAR ( date ) |
返回表示指定 date 的“年”部分的整数。 |
int |
具有确定性 |
详解:
一.DATENAME ( datepart , date )
返回表示指定日期的指定 datepart的字符串。Nvarchar类型
例:
SELECT DATENAME(year,getdate())--年
,DATENAME(month,getdate())--月
,DATENAME(day,getdate())--日
,DATENAME(dayofyear,getdate())--一年中的第几天
,DATENAME(quarter,getdate())--季节
,DATENAME(week,getdate())--星期
,DATENAME(weekday,getdate())--星期几
,DATENAME(hour,getdate())--小时
,DATENAME(minute,getdate())--分钟
,DATENAME(second,getdate());--秒钟
select getdate()--获取当前时间作为参照
备注
DATENAME 可用于选择列表 WHERE、HAVING、GROUP BY 和 ORDER BY 子句中。
二.DATEPART
DATEPART ( datepart , date )
返回表示指定 date 的指定 datepart的整数。Int类型
例:
SELECT DATEPART(year,getdate())--年
,DATEPART(month,getdate())--月
,DATEPART(day,getdate())--日
,DATEPART(dayofyear,getdate())--一年中的第几天
,DATEPART(quarter,getdate())--季节
,DATEPART(week,getdate())--星期
,DATEPART(weekday,getdate())--星期几 返回 1
,DATEPART(hour,getdate())--小时
,DATEPART(minute,getdate())--分钟
,DATEPART(second,getdate());--秒钟
注:datename与datepart意义相似但返回值不同,前者为字符串类型,后者为整形。如:datename(week,getdate()),返回值是星期一,星期二。。。而后者返回值为1,2,3,4。。。且礼拜天返回1
三.直接获取(只限于年月日)
SELECT YEAR(getdate())
, MONTH(getdate())
, DAY(getdate());
用来获取日期和时间差的函数
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|||||||
DATEDIFF |
DATEDIFF ( datepart ,startdate , enddate ) |
返回两个指定日期之间所跨的日期或时间 datepart 边界的数目。 |
int |
具有确定性 |
|||||||
|
用来修改日期和时间值的函数
函数 |
语法 |
返回值 |
返回数据类型 |
确定性 |
|||||||||||
DATEADD |
DATEADD (datepart ,number , date ) |
通过将一个时间间隔与指定date 的指定 datepart 相加,返回一个新的 datetime值。 |
date 参数的数据类型。 |
具有确定性 |
|||||||||||
说明 |
|||||||||||||||
|
SQL日期和时间函数的更多相关文章
- Sql Server函数全解<四>日期和时间函数
原文:Sql Server函数全解<四>日期和时间函数 日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外, ...
- sql的日期和时间函数–date_format
Mysql的日期和时间函数–date_format DATE_FORMAT(date,format)依照 format 字符串格式化 date 值.下面的修饰符可被用于 format 字符串中:修 ...
- sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数
一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...
- Sql Server函数全解(四)日期和时间函数
日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同 ...
- sqlserver常用日期、时间函数和格式
Sql Server中常用的日期与时间函数1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 ...
- MySql日期与时间函数
select DATE_FORMAT(date_sub(current_date(), interval 1 day), '%Y-%m-%d') -- 2018-05-29(昨天) select DA ...
- 转)MySQL日期与时间函数
-- MySQL日期时间处理函数 -- 当前日期:2017-05-12(突然发现今天512,是不是会拉防空警报) SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 ...
- ylb:日期和时间函数
ylbtech-SQL Server:SQL Server-日期和时间函数 日期和时间函数. ylb:日期和时间函数 返回顶部 1,日期和时间函数获取(当前)日期 GetDate() 2,提取部分日期 ...
- MySQL数据库9 - 日期与时间函数
一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...
随机推荐
- TACACS+简单说明
1 TACACS+概述 1.1 什么是TACACS+ TACACS+(Terminal Access Controller Access Control System,终端访问控制器控制系统协议)是在 ...
- MFC~~~~~~edit_control 和 静态文本框设置透明和字体设置
一 字体设置比较简单~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 .在 testdlg.h(假设工程名字为test)中 设置一个 public 的 ...
- Hadoop恢复namenode数据
情景再现: 在修复hadoop集群某一个datanode无法启动的问题时,搜到有一个答案说要删除hdfs-site.xml中dfs.data.dir属性所配置的目录,再重新单独启动该datanode即 ...
- ZooKeeper系列(3)命令操作 (转)
原文地址:http://www.cnblogs.com/wuxl360/p/5817524.html 一.Zookeeper的四字命令 Zookeeper支持某些特定的四字命令字母与其的交互.他们大多 ...
- ElasticSearch client API
从运行结果看并没有打印节点信息出来 从结果看出来,集群节点信道打印出来了,不过这种方法有个问题,就是当我们连接的节点挂掉了,就没法连接整个集群了,这个时候我们就利用他的一个嗅探的功能. 从这里我们可以 ...
- nginx经过多层代理后获取真实来源ip
nginx取 $remote_addr 当做真实ip,而事实上,$http_X_Forwarded_For 才是用户真实ip,$remote_addr只是代理上一层的地址 解决方案: 在 http 模 ...
- 关于 百度 Ueditor (在chrome浏览器) 上传图片时 打开文件夹的延迟问题
在使用 ueditor 开发时, 作为一个web文本编辑器使用时. 当点击上传图片时, 文件夹要延迟好久才能打开. 解决: 针对多图片上传, 将/ueditor/dialogs/image/image ...
- sqoop1的安装以及数据导入导出测试
下载 wget http://mirror.bit.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 解压 tar -zxf ...
- 2. 修改myeclipse默认用户和时间
方法一:将 @author 属性写死 . 通过菜单 Window->Preference 打开参数设置面板,然后选择: 1.Java -> Code Style -> Code Te ...
- left join 如何增加where条件(在on的后面),这很重要
SELECT [学号], [姓名],[备注2],[年级],专业,[学院],[x30] FROM [总表] left join k指标体系 on 学号 = x01 where 年级='2014'