日期和时间处理函数

这篇文章要总结的是SQL在日期和时间处理方面的函数,总结起来,主要有以下这些函数在我们的开发过程中使用得比较多的。

1,获取当前系统时间

2,DATEADD函数

3,DATEDIFF函数

4,DATEPART函数

5,YEAR,MONTH和DAY函数

6,DATENAME函数

7,ISDATE函数

获取当前系统时间

获取当前系统时间的函数有很多,但是最常用就两个,CURRENT_TIMESTAMP和GETDATE。它们返回的日期和时间格式完全相同,但是因为CURRENT_TIMESTAMP是标准SQL,所以更推荐使用它。

SQL查询代码:

SELECT GETDATE() AS [GETDATE], CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP];

查询结果:

我们可以看到,它们返回的日期时间完全相同。

DATEADD函数

DATEADD函数可以将指定日期的部分作为单位,为输入的日期和时间值增指定的数量。它的语法形式为:DATEADD(part,n,dt_val)

例如,以下代码为“2014年7月26日”增加1年。

SELECT DATEADD(YEAR,1,‘20140726‘);

查询结果:

DATEDIFF函数

DATEDIFF函数返回两个日期和时间之间相差的指定部分的计数。它的语法形式:DATEDIFF(part,dt_val1,dt_val2)

例如,以下代码返回两个值之间相差的天数。

SELECT DATEDIFF(DAY,‘20130726‘,‘20140726‘);

查询结果:

我们可以看到,它们相关了365天。

DATEPART函数

DATEPART函数返回一个表示给定日期和时间值的指定部分的整数。语法:DATEPART(part,dt_val)

例如,以下代码返回输入值的月份部分。

SELECT DATEPART(MONTH,‘20140726‘);

查询结果:

代码返回的当前日期的月份是7月。

YEAR,MONTH和DAY函数

YEAR,MONTH和DAY函数是DATEPART函数的简略版本。它们分别返回一个代表输入日期和时间值中年,月,日部分的整数。语法:YEAR(dt_val),MONTH(dt_val),DAY(dt_val)

例如,以下代码提取输入值的年,月,日部分。

USE TSQLFundamentals2008;
GO

SELECT
    YEAR(‘20140726‘) AS theyear,
    MONTH(‘20140726‘) AS themonth,
    DAY(‘20140726‘) AS theday;

查询结果:

DATENAME函数

DATENAME函数返回一个给定日期和时间值的指定部分的字符串。语法为:DATENAME(part,dt_val)

例如,以下代码返回给定输入日期和时间值的月份名称字符串。

SELECT DATENAME(MONTH,‘20140726‘);

查询结果:

ISDATE函数

ISDATE函数接受一个字符串作为输入,如果能把这个字符串转换为日期和时间数据类型的值,则返回1,如果不能,则返回0。它的语法:ISDATE(string)

例如,以下代码返回1:

以下代码则返回0:

USE TSQLFundamentals2008;
GO

-- 返回1,可以正常转换
SELECT ISDATE(‘20090212‘);

-- 返回0,因为2月没有30,所以转换失败
SELECT ISDATE(‘20090230‘);

查询结果:

1和0可以很好地转换成C#里的true和false。

时间: 2024-12-30 11:05:05

日期和时间处理函数的相关文章

Matlab中处理日期与时间的函数

Matlab用三种格式来表示日期与时间 (1)双精度型日期数字:一个日期型数字代表从公元0年到某一日期的的天数,例如,2008年8月26日夜时0点钟被表示为733646,而这同一天的中午12点就被表示为733646.5,也就是说任何一个时刻都可以用一个双精度型数字表示. (2)不同形式的日期字符串:Matlab定义了28种标准日期格式的字符串. (3)数值型的日期向量:用一个6元数组来表示一个日期时间,例如,[2008 8 26 12 5 0]表示2008年8月26日12点05分0秒:用一个3元

按年、季度、月分组&&计算日期和时间的函数

Mysql 按年.季度.月分组 按月度分组: select DATE_FORMAT(i.created_at, '%Y-%m月')...................GROUP BY DATE_FORMAT(i.created_at, '%Y-%m')  按季度分组: select CONCAT(YEAR(i.created_at),'_',QUARTER(i.created_at),'Q')....................GROUP BY CONCAT(YEAR(i.created_

Sql Server函数全解<四>日期和时间函数

原文:Sql Server函数全解<四>日期和时间函数   日期和时间函数主要用来处理日期和时间值,本篇主要介绍各种日期和时间函数的功能和用法,一般的日期函数除了使用date类型的参数外,也可以使用datetime类型的参数,但会忽略这些值的时间部分.相同的,以time类型值为参数的函数,可以接受datetime类型的参数,但会忽略日期部分. 1.获取系统当前日期的函数getDate();  getDate()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime.[例]sel

Mysql日期转换函数、时间转换函数

Mysql日期转换函数.时间转换函数 一.MySQL 获得当前日期时间 函数 1,获得当前日期+时间(date + time)函数:now(): select now(); 结果:2008-08-08 22:20:46 2,获得当前日期+时间(date + time)函数:sysdate()sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值: select sysdate(); 结果:2008-08

mysql中返回当前时间的函数或者常量

引用:http://blog.sina.com.cn/s/blog_6d39dc6f0100m7eo.html 1.1 获得当前日期+时间(date + time)函数:now() 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数: current_timestamp()   current_timestamp localtime()   localtime localtimestamp()   localtimestamp     这些日期时间函数,都等同于 now(

Python学习进程(11)日期和时间

    本节介绍Python应用程序处理时间和日期的方式.其中转换日期格式是最常用的功能.     (1)获取时间戳: Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间. 函数time.time()用于获取当前时间戳: >>> import time >>> tickets=time.time() >>> print "当前时间戳是:",tickets 当前时间戳是: 1469240559.05

MATLAB的日期和时间

MATLAB的日期和时间常用函数 函数 说明 calender 返回日历 clock 当前时间 date 当前日期 weekday 星期几 now 当前的日期和时间 datevec 以向量显示日期 datestr 以字符显示日期 cputime 经过的CPU时间 etime 经过的时间 tic 计时开始 toc 计时结束 eomday 一个月的最后一天 datenum 以数值显示日期 datetick 指定坐标轴的日期

MYSQL学习笔记三:日期和时间函数

1. 获取当前日期的函数和获取当前时间的函数 /*获取当前日期的函数和获取当前时间的函数.将日期以'YYYY-MM-DD'或者'YYYYMMDD'格式返回 */ #CURDATE()与CURRENT_DATE()作用同样,返回同样的系统当前日期 #CURDATE()+0则将当前日期值转换成数值类型 SELECT CURDATE(), CURRENT_DATE(), CURDATE()+0; /* CURTIME()和CURRENT_TIME()作用同样.将当前时间以'HH:MM:SS'或者'HH

ORACLE函数之日期时间运算函数

1            ADD_MONTHS 格式:ADD_MONTHS(D,N) 说明:返回日期时间D加N月后对应的日期时间.N为正时则表示D之后:N为负时则表示为D之前:N为小数则会自动先删除小数部分,而用整数部分 举例: SQL>SELECT ADD_MONTHS(SYSDATE,7) A,ADD_MONTHS(SYSDATE,-7) B,ADD_MONTHS(SYSDATE,7.9)C FROM DUAL; A                             B