今天面試筆試遇到的問題,忘記了怎樣寫了,尷尬。
回來就建了張表來聯系
如下:
為了方便 只給了三個字段 插入了一些亂七八糟的數據;
查詢今天過生日的人:
SELECT NAME FROM test WHERE TO_DAYS(birthday)=TO_DAYS(NOW());
查詢2018年過生日的人:
SELECT * FROM test WHERE YEAR(birthday)='2018';
查詢2018年之后過生日的人:
SELECT * FROM test WHERE YEAR(birthday)>'2018';
查詢5月之后過生日的人:
SELECT * FROM test WHERE MONTH(birthday)>'5';
查詢某年某月某日某時某分某秒:
select * from test where DATE_FORMAT(birthday, '%Y%m%d%H%i%S') > '2019-07-05 22:00:00';
date_format() 函數用於以不同的格式顯示日期/時間數據。
語法
DATE_FORMAT(date,format) date 參數是合法的日期。format 規定日期/時間的輸出格式
總結:
1.year(),從時間字段獲取年
2.quarter(),從時間字段獲取季度
3.month(),從時間字段獲取月
4.week(),從時間字段獲取周
5.yearweek(),從時間字段獲取年和周
6.date_sub(), 從時間字段減去指定時間間隔
7.date_format(),時間格式化
8.to_days(),返回從0年開始的天數;
9.from_days(),根據天數,返回日期;