mysql日期函数的使用

mysql日期函数的使用

时间:2013-10-29 09:10:22      作者:beebol      标签:      分类: Mysql

如下是DAYOFWEEK和WEEKDAY的区别:

mysql> SELECT DAYOFWEEK('2013-10-29');
+-------------------------+
| DAYOFWEEK('2013-10-29') |
+-------------------------+
|                       3 |
+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT WEEKDAY('2013-10-29');  
+-----------------------+
| WEEKDAY('2013-10-29') |
+-----------------------+
|                     1 |
+-----------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

DAYOFWEEK的星期索引是(1 = Sunday, 2 = Monday, ... 7 = Saturday),所以如上是3,表示是星期二。

WEEKDAY的星期索引是(6 = Sunday, 0 = Monday, ... 5= Saturday),所以如上是1,表示是星期二。

 

mysql> SELECT DAYOFMONTH('2013-10-29');
+--------------------------+
| DAYOFMONTH('2013-10-29') |
+--------------------------+
|                       29 |
+--------------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

DAYOFMONTH返回一个月的第几天。范围是1-31

 

mysql> SELECT DAYOFYEAR('2013-10-29'); 
+-------------------------+
| DAYOFYEAR('2013-10-29') |
+-------------------------+
|                     302 |
+-------------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

DAYOFYEAR是返回一年的第几天,范围是1-366

mysql> SELECT MONTH('2013-10-29');    
+---------------------+
| MONTH('2013-10-29') |
+---------------------+
|                  10 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT DAYNAME('2013-10-29');
+-----------------------+
| DAYNAME('2013-10-29') |
+-----------------------+
| Tuesday               |
+-----------------------+
1 row in set (0.00 sec)

mysql> SELECT MONTHNAME('2013-10-29');
+-------------------------+
| MONTHNAME('2013-10-29') |
+-------------------------+
| October                 |
+-------------------------+
1 row in set (0.00 sec)

mysql> SELECT QUARTER('2013-10-29');  
+-----------------------+
| QUARTER('2013-10-29') |
+-----------------------+
|                     4 |
+-----------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

MONTH返回日期的月份。范围是1-31,如果是错误日期将返回NULL

DAYNAME返回日期的星期英文名字,如Tuesday

MONTHNAME返回日期的月份英文名字,如October

QUARTER返回日期所在的季度,如2013-10-29是Q4季度

mysql> SELECT PERIOD_ADD(201310,1);
+----------------------+
| PERIOD_ADD(201310,1) |
+----------------------+
|               201311 |
+----------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

PERIOD_ADD(P,N)增加N个月到时期P(格式为YYMM 或YYYYMM)中以YYYYMM 格式返回值。注意,期间参数P 不是一个日期值。

mysql> SELECT PERIOD_DIFF(1310,1209);
+------------------------+
| PERIOD_DIFF(1310,1209) |
+------------------------+
|                     13 |
+------------------------+1 row in set (0.00 sec)
1 row in set (0.00 sec)

PERIOD_DIFF(P1,P2)P1与P2之间的月数,P1和p2不是一个日期。

DATE_FORMAT(date,format)

依照 format 字符串格式化 date 值。下面的修饰符可被用于 format 字符串中: 修饰符 含义

%M 月的名字 (January..December)

%W 星期的名字 (Sunday..Saturday)

%D 有英文后缀的某月的第几天 (0th, 1st, 2nd, 3rd, etc.)

%Y 年份,数字的,4 位

%y 年份,数字的,2 位

%X 周值的年份,星期日是一个星期的第一天,数字的,4 位,与 ‘%V’ 一同使用

%x 周值的年份,星期一是一个星期的第一天,数字的,4 位,与 ‘%v’ 一同使用

%a 缩写的星期名 (Sun..Sat)

%d 月份中的天数,数字的 (00..31)

%e 月份中的天数,数字的 (0..31)

%m 月,数字的 (00..12)

%c 月,数字的 (0..12)

%b 缩写的月份名 (Jan..Dec)

%j 一年中的天数 (001..366)

%H 小时 (00..23)

%k 小时 (0..23)

%h 小时 (01..12)

%I 小时 (01..12)

%l 小时 (1..12)

%i 分钟,数字的 (00..59)

%r 时间,12 小时 (hh:mm:ss [AP]M)

%T 时间,24 小时 (hh:mm:ss)

%S 秒 (00..59)

%s 秒 (00..59)

%p AM 或 PM

%w 一周中的天数 (0=Sunday..6=Saturday)

%U 星期 (00..53),星期日是一个星期的第一天

%u 星期 (00..53),星期一是一个星期的第一天

%V 星期 (01..53),星期日是一个星期的第一天。与 ‘%X’ 一起使用

%v 星期 (01..53),星期一是一个星期的第一天。与 ‘%x’ 一起使用

%% 一个字母 “%”

时间:2013-10-29 09:10:22      作者:beebol      标签:      分类: Mysql
  • 分享到:
  • 微博
  • QQ空间
  • 腾讯微博
  • 微信

Copyright © 2015 Gitblog | Proudly powered by Gitblog.