資料型別
- datetime
- timestamp
語句測試
建表
DROP TABLE IF EXISTS test_time; CREATE TABLE test_time ( `id` INT (3) UNSIGNED AUTO_INCREMENT, `name` char(5) DEFAULT '', //用於更新時間測試 `test_datetime` datetime DEFAULT CURRENT_TIMESTAMP, `test_datetime1` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `test_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `test_timestamp1` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `int_timestamp` INT NOT NULL DEFAULT 1577808000, PRIMARY KEY (`id`) );
插入資料
INSERT into test_time(name) VALUE('huang');
因為建表時已經使用了 DEFAULT CURRENT_TIMESTAMP 所以插入資料後會自動建立當前時間
UPDATE test_time set name='hui' WHERE name='huang';
測試test_datetime1,test_timestamp1的自動更新時間功能;
- 常見函式測試SQL
SELECT test_datetime, DATE_FORMAT(test_datetime,'%Y-%m-%d'), FROM_UNIXTIME(int_timestamp) as int_day, YEAR(test_datetime) as year, MONTH(test_datetime) as month, DAY(test_datetime) as day, HOUR(test_datetime) as hour, minute(test_datetime) as minute, second(test_datetime) as second, MICROSECOND(test_datetime) as mic_second, WEEK(test_datetime) as week, QUARTER(test_datetime) as quarter, MONTHNAME(test_datetime) as month_name, NOW() as now, CURRENT_date() as cur_date, CURRENT_TIME() as cur_time, DATE_ADD(NOW(),INTERVAL 1 DAY) as add_day, DATE_SUB(NOW(),INTERVAL -1 DAY) as sub_day, DATEDIFF(NOW(),FROM_UNIXTIME(int_timestamp)) as diff FROM test_time;
- 函式解釋
函式 | 引數型別 | 說明 |
---|---|---|
FROM_UNIXTIME | timestamp | 時間戳 –> 日期格式 |
UNIX_TIMESTAMP | datetime | 日期格式 –> 時間戳 |
DATE_FORMAT | (datetime , ‘%Y-%m-%d,%H:%i:%s’) | 美化日期格式 |
YEAR | datetime | 獲取日期格式的年 |
MONTH | datetime | 獲取日期格式的月份 |
DAY | datetime | 獲取日期格式的日期 |
HOUR | datetime | 獲取日期格式的小時 |
MINUTE | datetime | 獲取日期格式的分鐘 |
SECOND | datetime | 獲取日期格式的秒 |
MICROSECOND | datetime | 獲取日期格式的微秒 |
WEEK | datetime | 獲取日期格式的第幾周 |
QUARTER | datetime | 獲取日期格式的季度 |
MONTHNAME | datetime | 獲取日期格式的月份(英文) |
NOW | 獲取當前時間2020-12-12 12:12:12 |
|
CURRENT_DATE | 獲取當前日期2020-12-12 |
|
CURRENT_TIME | 獲取當前時分秒12:12:12 |
|
DATE_ADD | (datetime,INTERVAL expr unit ) |
增加n天 例:DATE_ADD(timestamp,INTERVAL 1 DAY) |
DATE_SUB | (datetime,INTERVAL expr unit ) |
減少n天 |
DATEDIFF | (datetime1,datetime2) | 兩個時間間隔多少天 |
-上述DATE_ADD/DATE_SUB中unit
的引數可為:
年 | 月 | 日 | 時 | 分 | 秒 | 毫秒 | 周 | 季度 |
---|---|---|---|---|---|---|---|---|
YEAR | MONTH | DAY | HOUR | MINTUE | SECOND | MIROSECOND | WEEK | QUATER |
本作品採用《CC 協議》,轉載必須註明作者和本文連結