在mysql中我们经常会用到一些常用的时间与日期一些运算,下面我来总结一下关于mysql日期时间常用函数介绍,有需要的朋友参考。
一、时间差
datediff:说白了就是用第一个时间去减第二个时间,顺序不能忘记
代码如下 | 复制代码 |
select datediff('2012-08-08', '2012-08-13'); -- -5 |
二、获取当前时间
代码如下 | 复制代码 |
now |
sysdate(); //动态获取系统时间。这个要和now函数区分来,now就好比已经定义了一个变量,sysdate等于变量是在运行到后确定,所以他们有一个时差
三、获得当前日期(date)函数
curdate()
以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
代码如下 | 复制代码 |
mysql> select CURDATE(); +------------+ | CURDATE() | +------------+ | 2001-02-20 | +------------+ |
current_date()
四、获得当前时间
curtime()
CURTIME() 返回当前时间
以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
代码如下 | 复制代码 |
mysql> select CURTIME(); +-----------+ | CURTIME() | +-----------+ | 10:42:38 | +-----------+ |
current_time()
current_time
五、获得当前 UTC 日期时间函数
代码如下 | 复制代码 |
select utc_timestamp(), utc_date(), utc_time(), now() |
六、Mysql日期时间函数
代码如下 | 复制代码 |
set @dt = '2008-09-10 07:15:30.123456'; |
下面分离一些年月日函数
下面的查询选择了所有记录,其date_col的值是在最后30天以内:
代码如下 | 复制代码 |
mysql> SELECT something FROM table |
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
代码如下 | 复制代码 |
mysql> select DAYOFWEEK('1998-02-03'/res/images/smilies/wink.gif; |
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00'/res/images/smilies/wink.gif; -> 5 mysql> select WEEKDAY('1997-11-05'/res/images/smilies/wink.gif; -> 2
代码如下
复制代码
DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。
代码如下 | 复制代码 |
mysql> select DAYOFMONTH('1998-02-03'/res/images/smilies/wink.gif; -> 3 |
DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。
代码如下 | 复制代码 |
mysql> select DAYOFYEAR('1998-02-03'/res/images/smilies/wink.gif; -> 34 MONTH(date) |
返回date的月份,范围1到12。
代码如下 | 复制代码 |
mysql> select MONTH('1998-02-03'/res/images/smilies/wink.gif; -> 2 |