SQLServer时间日期函数详解-2023修改整理_第1页
SQLServer时间日期函数详解-2023修改整理_第2页
SQLServer时间日期函数详解-2023修改整理_第3页
SQLServer时间日期函数详解-2023修改整理_第4页
SQLServer时间日期函数详解-2023修改整理_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐SQLServer时间日期函数详解SQLServer时光日期函数详解,SQLServer,时光日期,

1.当前系统日期、时光

selectgetdate()

2.dateadd在向指定日期加上一段时光的基础上,返回新的datetime值

例如:向日期加上2天

selectdateadd(day,2,'2022-10-15')--返回:2022-10-1700:00:00.000

3.datediff返回跨两个指定日期的日期和时光边界数。

selectdatediff(day,'2022-09-01','2022-09-18')--返回:17

selectdatediff(day,'2022-09-18','2022-09-01')--返回:-17

4.datepart返回代表指定日期的指定日期部分的整数。

SELECTDATEPART(month,'2022-10-15')--返回10

5.datename返回代表指定日期的指定日期部分的字符串

SELECTdatename(weekday,'2022-10-15')--返回:星期五

6.day(),month(),year()--可以与datepart对比一下

select当前日期=convert(varchar(10),getdate(),120)

,当前时光=convert(varchar(8),getdate(),114)

selectdatename(dw,'2022-10-15')

select本年第多少周=datename(week,'2022-10-15')

,今日是周几=datename(weekday,'2022-10-15')

函数参数/功能

GetDate()返回系统目前的日期与时光

DateDiff(interval,date1,date2)以interval指定的方式,返回date2与date1两个日期之间的差值

date2-date1

DateAdd(interval,number,date)以interval指定的方式,加上number之后的日期

DatePart(interval,date)返回日期date中,interval指定部分所对应的整数值DateName(interval,date)返回日期date中,interval指定部分所对应的字符串名称

参数interval的设定值如下:

值缩写(SqlServer)(Access和ASP)说明

YearYyyyyy年1753~9999

Quarterq季1~4

MonthMmm月1~12

DayofyearDyy一年的日数,一年中的第几日1-366

DayDdd日,1-31

WeekdayDww一周的日数,一周中的第几日1-7

WeekWkww周,一年中的第几周0~51

HourHhh时0~23

MinuteMin分钟0~59

SecondSss秒0~59

MillisecondMs-毫秒0~999

access和asp中用date()和now()取得系统日期时光;其中DateDiff,DateAdd,DatePart也同是能用于

Access和asp中,这些函数的用法也类似

举例:

1.GetDate()用于sqlserver:selectGetDate()

2.DateDiff('s','2022-07-20','2022-7-2522:56:32')返回值为514592秒

DateDiff('d','2022-07-20','2022-7-2522:56:32')返回值为5天

3.DatePart('w','2022-7-2522:56:32')返回值为2即星期一(周日为1,周六为7)

DatePart('d','2022-7-2522:56:32')返回值为25即25号

DatePart('y','2022-7-2522:56:32')返回值为206即这一年中第206天

DatePart('yyyy','2022-7-2522:56:32')返回值为2022即2022年

详细的语法:

日期函数用来操作DATETIME和SMALLDATETIME类型的数据,执行算术运算。与其它函数一样,可以在

Select语句的Select和Where子句以及表达式中使用日期函数。其使用办法如下:日期函数参数,其中参数个数应不同的函数而不同。

·DAY()

DAY()函数语法如下:

DAY()

DAY()函数返回date_expression中的日期值。

·MONTH()

MONTH()函数语法如下:

MONTH()

MONTH()函数返回date_expression中的月份值。

与DAY()函数不同的是,MONTH()函数的参数为整数时,一律返回整数值1,即SQLServer认为其

是1900年1月。

·YEAR()

YEAR()函数语法如下:

YEAR()

YEAR()函数返回date_expression中的年份值。

提示:在使用日期函数时,其日期值应在1753年到9999年之间,这是SQLServer系统所能识别的日期范

围,否则会浮现错误。

·DATEADD()

DATEADD()函数语法如下:

DATEADD(,,)

DATEADD()函数返回指定日期date加上指定的额外日期间隔number产生的新日期。参数“datepart

”在日期函数中常常被使用,它用来指定构成日期类型数据的各组件,如年、季、月、日、星期等。

其取值如表4-9所示:

·DATEDIFF()

DATEDIFF()函数语法如下:

DATEDIFF()(,,)

DATEDIFF()函数返回两个指定日期在datepart方面的不同之处,即date2超过date1的差距值,其

结果值是一个带有正负号的整数值。针对不同的datepart,DATEDIFF()函数所允许的最大差距值不

一样,如:datepart为second时,DATEDIFF()函数所允许的最大差距值为68:年datepart为

millisecond时,DATEDIFF()函数所允许的最大差距值为24天20小时30

分23秒647毫秒。

·DATENAME()

DATENAME()函数语法如下:

DATENAME(,

DATENAME()函数以字符串的形式返回日期的指定部分此部分。由datepart来指定。

·DATEPART()

DATEPART()函数语法如下:

DATEPART(,)

DATEPART()函数以整数值的形式返回日期的指定部分。此部分由datepart来指定。

DATEPART(dd,date)等同于DAY(date)

DATEPART(mm,date)等同于MONTH(date)

DATEPART(yy,date)等同于YEAR(date)

·GETDATE()

GETDATE()函数语法如下:

GETDATE()

GETDATE()函数以DATETIME的缺省格式返回系统当前的日期和时光,它常作为其它函数或命令的参

数使用。

在开发数据库应用中,常常会碰到处理时光的问题,如查询指定时光的记录等。下面就这些常见的问题

,结合自己的一些阅历,和大家探讨一下这类问题。

首先介绍一下,SQLServer里处理时光的几个主要函数的用法:

getdate()函数:取得系统当前的日期和时光。返回值为datetime类型的。

用法:getdate()

例子:

selectgetdate()asdte,dateadd(day,-1,getdate())asnowdat

输出结果:

dtenowdat

1999-11-2119:13:10.0831999-11-2019:13:10.083

(1row(s)affected)

datepart()函数:以整数的形式返回时光的指定部分。

用法:datepart(datepart,date)

参数说明:datepart时要返回的时光的部分,常用取值year、month、day、hour、minute。

date是所指定的时光。

例子:

SELECTDATEPART(month,GETDATE())AS'MonthNumber'

输出结果:

MonthNumber

11

(1row(s)affected)

dateadd()函数:通过给指定的时光的指定部分加上一个整数值以返回一个新时光值。

用法:dateadd(datepart,number,date)

参数说明:datepart(同上)

date(同上)

number要增强的值,整型,可正可负,正当返回date之后的时光值,负值返回date

之前的时光值

例子:

selectgetdate()astoday

selectdateadd(day,-1,getdate())

selectdateadd(day,1,getdate())

输出:

today

1999-11-2119:42:41.410

(1row(s)affected)

yesterday

1999-11-2019:42:41.410

(1row(s)affected)

tomorrow

1999-11-2219:42:41.410

(1row(s)affected)

datediff()函数:返回两个时光以指定时光部分来计算的差值。返回整数值。如1991-6-12和1991-6-21

之间以天

来算相差

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论