mysql 有一些時間函數,雖然不常用,但是有時面試時會用到。
1.把當前時間轉換成時間戳
select UNIX_TIMESTAMP();2.關於年齡我們一般不直接寫具體的年齡,因為年齡是不斷變化的,只需要在數據庫中給出生日即可。sql語句如下。
select name,birth,year(curdate())-year(birth())-(right(curdate(),5)-right(birth,5)) as age from peg oreder by name;
以上sql 輸出的圖像如下是:
+----------+------------+------------+------+
| name | birth | CURDATE() | age |
+----------+------------+------------+------+
| Bowser | 1989-08-31 | 2003-08-19 | 13 |
| Buffy | 1989-05-13 | 2003-08-19 | 14 |
| Chirpy | 1998-09-11 | 2003-08-19 | 4 |
| Claws | 1994-03-17 | 2003-08-19 | 9 |
| Fang | 1990-08-27 | 2003-08-19 | 12 |
| Fluffy | 1993-02-04 | 2003-08-19 | 10 |
| Puffball | 1999-03-30 | 2003-08-19 | 4 |
| Slim | 1996-04-29 | 2003-08-19 | 7 |
| Whistler | 1997-12-09 | 2003-08-19 | 5 |
+----------+------------+------------+------+
3.如果要算出下個月出生的動物該sql語句如下。
語句一:
SELECT name, birth FROM pet WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));
語句二:
select name,birth from pet where month(birth)=mod(month(curdate(),12)+1;
為什麼這樣寫是因為12月份特殊如果直接給它加上1的,那麼就變成了13,所以這樣處理。