使用这些函数可以计算日期和时间值。例如,假设您希望了解通常在一周中哪一天的销售量最高。使用 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 参数的数据类型。 |
具有确定性 |
|||||||||||
说明 |
|||||||||||||||
|