9.笔记 MySQL学习——处理日期

来源:互联网 发布:淘宝租房在哪个地方 编辑:程序博客网 时间:2024/06/03 14:55

9.笔记 MySQL学习——处理日期

MYSQL支持多种类型的日期运算:

l  按日期排序

l  搜索特定日期或日期范围

l  从日期值里提取各组成部分

l  计算两个日期之间的时间差

l  通过将一个日期加上或减去一个时间间隔

处理日期

查找某一天的记录

mysql> select * from grade_event wheredate='2012-10-01';

+------------+----------+----------+

| date      | category | event_id |

+------------+----------+----------+

| 2012-10-01 | T        |       6 |

+------------+----------+----------+

1 row in set (0.00 sec)

生于3月的美国总统

mysql> select last_name,first_name,birthfrom president where month(birth)=3;

+-----------+------------+------------+

| last_name | first_name | birth      |

+-----------+------------+------------+

| Madison  | James      | 1751-03-16 |

| Jackson  | Andrew     | 1767-03-15 |

| Tyler    | John       | 1790-03-29 |

| Cleveland | Grover     | 1837-03-18 |

+-----------+------------+------------+

4 rows in set (0.01 sec)

也可以用月份名称

mysql> select last_name,first_name,birth frompresident where monthname(birth)='March';

+-----------+------------+------------+

| last_name | first_name | birth      |

+-----------+------------+------------+

| Madison  | James      | 1751-03-16 |

| Jackson  | Andrew     | 1767-03-15 |

| Tyler    | John       | 1790-03-29 |

| Cleveland | Grover     | 1837-03-18 |

+-----------+------------+------------+

4 rows in set (0.01 sec)

计算出另一个日期

mysql> select date_add('1970-1-1',INTERVAL 10YEAR);

+---------------------------------------+

| date_add('1970-1-1',INTERVAL 10 YEAR) |

+---------------------------------------+

| 1980-01-01                            |

+---------------------------------------+

1 row in set (0.00 sec)