1、当前日期函数CURRENT_DATE(),CURDATE(),RIGHT(),YEAR()
mysql> SELECT CURRENT_DATE();
+----------------+
| CURRENT_DATE() |
+----------------+
| 2009-07-30 |
+----------------+
1 row in set (0.02 sec)
mysql> SELECT CURDATE();
+------------+
| CURDATE() |
+------------+
| 2009-07-30 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT RIGHT(CURDATE(),5);
+--------------------+
| RIGHT(CURDATE(),5) |
+--------------------+
| 07-30 |
+--------------------+
1 row in set (0.00 sec)
mysql> SELECT YEAR(CURDATE());
+-----------------+
| YEAR(CURDATE()) |
+-----------------+
| 2009 |
+-----------------+
1 row in set (0.00 sec)
2、MONTH(),DAYOFMONTH( )
取出生月份在本月的记录
mysql> SELECT name, birth, MONTH(birth) month FROM pet
-> WHERE MONTH(birth) = MONTH(CURDATE());
返回当前天是本月的第几天
mysql> SELECT DAYOFMONTH(CURDATE());
+-----------------------+
| DAYOFMONTH(CURDATE()) |
+-----------------------+
| 30 |
+-----------------------+
1 row in set (0.00 sec)
3、DATE_ADD( ),MOD()
在一个给定的日期上加上时间间隔。如果在NOW( )值上加上一个月,然后用MONTH()提取月份,结果产生生日所在月份:
mysql> SELECT name, birth FROM pet
-> WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH));
Empty set (0.00 sec)
mysql> SELECT MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH));
+----------------------------------------------+
| MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH)) |
+----------------------------------------------+
| 8 |
+----------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT name, birth FROM pet
-> WHERE MONTH(birth) = MOD(MONTH(CURDATE()), 12) + 1;
4、NULL值操作
NULL意味着“没有值”或“未知值”,且它被看作与众不同的值