`
Sharpleo
  • 浏览: 564083 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

sqlserver 日期操作函数

阅读更多
SQLServer时间日期函数详解,SQLServer,时间日期,

1.      当前系统日期、时间 

        select getdate() 

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

       例如:向日期加上2天 

       select dateadd(day,2,'2004-10-15')      --返回:2004-10-17 00:00:00.000

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

       select datediff(day,'2004-09-01','2004-09-18')       --返回:17

       select datediff(day,'2004-09-18','2004-09-01')       --返回:-17

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

      SELECT DATEPART(month, '2004-10-15')      --返回 10

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

       SELECT datename(weekday, '2004-10-15')      --返回:星期五

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

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

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

select datename(dw,'2004-10-15') 

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

          ,今天是周几=datename(weekday,'2004-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的设定值如下:

值 缩 写(Sql Server) (Access 和 ASP) 说明 

Year Yy yyyy 年 1753 ~ 9999 

Quarter Qq q    季 1 ~ 4 

Month Mm m    月1 ~ 12 

Day of year Dy y   一年的日数,一年中的第几日 1-366 

Day Dd d    日,1-31 

Weekday Dw w 一周的日数,一周中的第几日 1-7 

Week Wk ww   周,一年中的第几周 0 ~ 51 

Hour Hh h    时0 ~ 23 

Minute Mi n   分钟0 ~ 59 

Second Ss s 秒 0 ~ 59 

Millisecond Ms - 毫秒 0 ~ 999 

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

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

举例:

1.GetDate() 用于sql server :select GetDate()

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

DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天

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

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

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

DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年 

具体的语法:

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

Select 语句的Select 和Where 子句以及表达式中使用日期函数。其使用方法如下:

日期函数参数,其中参数个数应不同的函数而不同。

·DAY()

DAY() 函数语法如下:

DAY (<date_expression>)

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

·MONTH()

MONTH() 函数语法如下:

MONTH (<date_expression>)

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

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

是1900 年1 月。

·YEAR()

YEAR() 函数语法如下:

YEAR (<date_expression>)

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

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

围,否则会出现错误。

·DATEADD()

DATEADD() 函数语法如下:

DATEADD (<datepart>, <number>, <date>)

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

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

其取值如表4-9 所示:

·DATEDIFF()

DATEDIFF() 函数语法如下:

DATEDIFF() (<datepart>, <date1>, <date2>)

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

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

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

millisecond 时,DATEDIFF() 函数所允许的最大差距值为24 天20 小时30 分23 秒647 毫秒。

·DATENAME()

DATENAME() 函数语法如下:

DATENAME (<datepart>, <date)>

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

·DATEPART()

DATEPART() 函数语法如下:

DATEPART (<datepart>, <date>)

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

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

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

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

·GETDATE()

GETDATE() 函数语法如下:

GETDATE()

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

数使用。 



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

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

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

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

用法:getdate() 

例子: 

select getdate() as dte,dateadd(day,-1,getdate()) as nowdat 

输出结果: 

dte nowdat 

1999-11-21 19:13:10.083 1999-11-20 19:13:10.083 

(1 row(s) affected) 

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

用法:datepart(datepart,date) 

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

date是所指定的时间。 

例子: 

SELECT DATEPART(month, GETDATE()) AS 'Month Number' 

输出结果: 

Month Number 

11 

(1 row(s) affected) 

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

用法:dateadd(datepart,number,date) 

参数说明:datepart(同上) 

date(同上) 

number要增加的值,整型,可正可负,正值返回date之后的时间值,负值返回date 

之前的时间值 

例子: 

select getdate() as today 

select dateadd(day,-1,getdate()) 

select dateadd(day,1,getdate()) 

输出: 

today 

1999-11-21 19:42:41.410 

(1 row(s) affected) 

yesterday 

1999-11-20 19:42:41.410 

(1 row(s) affected) 

tomorrow 

1999-11-22 19:42:41.410 

(1 row(s) affected) 

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

之间以天 

来算相差9天,1998-6-12和1999-6-23按年算相差1年,1999-12-1和1999-3-12按月算相差9个月 

用法:datediff(darepart,date1,date2) 

参数说明:datepart(同上) 

date1、date2(同上date) 

例子: 

select datediff(month,'1991-6-12','1992-6-21') as a 


分享到:
评论

相关推荐

    收集整理的SQL Server自定义函数

    收集整理的SQL Server自定义函数,原文地址:http://blog.csdn.net/maco_wang 1.去除字符串中的html标记及标记中的内容 2 2. 去除字符串中连续的分割符 4 3.求第一个字符串中第二个串的个数 6 4.综合模糊查询 6 5....

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL&gt; select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...

    SQL Server数据库技术大全 电子书

    1.2.4 SQL Server 2008的数据操作/7 1.3 SQL Server 2008的安装/9 1.3.1 SQL Server 2008的版本选择/9 1.3.2 SQL Server 2008的安装环境/11 1.3.3 安装配置SQL Server 2008/11 1.4 使用SQL Server Management Studio...

    Microsoft SQL Server 2005 Express Edition SP3

    SQL Server Express 联机丛书中的“硬件和软件要求 (SQL Server Express)”主题中没有提供操作系统的精确列表。SQL Server Express 支持下列操作系统。 Windows Server 2003 SP1 Windows Server 2003 Enterprise ...

    SQL SERVER 2000开发与管理应用实例

    本书全面系统地介绍了SQL Server开发和管理的应用技术,涉及安装和配置SQL Server、日期处理、字符处理、排序规则、编号处理、数据统计与汇总、分页处理、树形数据处理、数据导入与导出、作业、数据备份与还原、用户...

    Sqlserver 常用日期时间函数

    Sqlserver中经常要操作一些时间类型的字段转换,我又不太记得住,记在这里方便自己以后要用的时候寻找,望对大家也有帮助.

    SQL Server 2008高级程序设计 4/6

    SQL Server 2008高级程序设计 4/6 SQL Server 2008 2010 高级程序设计 作者:(美)维埃拉 著,杨华,腾灵灵 译 出版社:清华大学 出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 ----------------...

    SQL Server 2008高级程序设计 2/6

    《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。  本书首先介绍SQL Server 2008的新功能,然后在更详实的示例...

    sql中时间日期操作(时间日期函数,时间日期格式,时间日期转换参数,时间日期比较,时间日期计算)

    这是我收集的关于数据库中时间格式的一些转换及设置,其中还有时间日期的相关操作,适合有需要的朋友参考

    SQL Server 2008 商业智能完美解决方案(3)

    利用Microsoft SQL Server 2008实现灵活的商业智能解决方案使用Microsoft 完善的BI工具构建B0解决方案的必备指南,使用SQLServer 2008设计、开发和部署更有效的数据集成、报表、分析解决方案所需的权威操作指南。...

    SQl 函数说明大全

    1.聚合函数 执行的操作是将多个值合并为一个值。例如 COUNT、SUM、MIN 和 MAX。 2.配置函数 是一种标量函数,可...13.系统统计函数 返回有关 SQL Server 性能的信息。 14.文本和图像函数 可更改 text 和 image 的值。

    SQLServer函数

    字符串函数,数学函数,日期函数 ,系统函数,字符串操作函数

    SQLServer2008查询性能优化 2/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQLServer2008查询性能优化 1/2

    书名: SQLServer2008查询性能优化 作者: 弗里奇(Grant Fritchey) 出版社: 人民邮电出版社 出版日期: 2010年8月1日 ISBN: 9787115230294 编辑推荐 《SQL Server 2008查询性能优化》为你提供了处理查询性能所...

    SQL常用函数查询手册

    word格式。SQL常用函数的查询工具。包括字符串操作函数,数据类型转化函数,日期函数,统计函数,数学函数,排名函数等等。可以打开word的文档结构图方便查询

    SQLServer2005+2008视频教程.txt

    【IT教程网】25-日期函数的操作 【IT教程网】26-convert函数的操作 【IT教程网】27-字符函数的操作 【IT教程网】29-创建视图操作 【IT教程网】3-修改表操作 【IT教程网】30-修改视图中的数据 【IT教程网】31-...

    (第二卷)Microsoft SQL Server 2008技术内幕:T-SQL语言基础

     《Microsoft SQL Server 2008技术内幕:T-SQL语言基础》是Microsoft SQL Server 2008系列中的一本。书中全面深入地介绍了T-SQL的基本元素,以及SQL Server 2008中新增加的一些特性。主要包括SQL的基础理论、逻辑...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     SQL Server专家的呕心力作,数据库管理员的实战宝典,全面、深入地剖析SQL Server2008新特性,结构独特,实例丰富,操作性强。 编辑本段 目录  第Ⅰ部分 SQL Server 2008管理基础  第1章 SQL Server 2008管理...

    sqlserver2000基础(高手也有用)

    2.2 日期处理函数 25 2.2.1 日期增减函数 25 2.2.2 日期信息获取函数 26 2.2.3 日期差值计算函数 27 2.2.4 其他日期处理相关函数 27 2.3 日期选项设置 29 2.3.1 default language选项 30 2.3.2 SET ...

Global site tag (gtag.js) - Google Analytics