MySQL是一款關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以存儲(chǔ)和檢索大量的數(shù)據(jù)。其中,日期處理是MySQL的一項(xiàng)重要功能。本文將介紹如何使用MySQL將年轉(zhuǎn)換成月。
-- 示例數(shù)據(jù)表 CREATE TABLE IF NOT EXISTS `example_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `year` int(4) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- 示例數(shù)據(jù)插入 INSERT INTO `example_table` (`year`) VALUES (2019),(2020),(2021);
下面是具體操作步驟:
Step 1:使用MONTH()函數(shù)提取月份
SELECT MONTH(date) AS month FROM example_table;
將得到以下結(jié)果:
+-------+ | month | +-------+ | 7 | | 8 | | 9 | +-------+
Step 2:使用DATE_ADD()和STR_TO_DATE()函數(shù)轉(zhuǎn)換年份
SELECT DATE_ADD(STR_TO_DATE(CONCAT(year,'-01-01'),'%Y-%m-%d'), INTERVAL month MONTH) AS date FROM example_table;
將得到以下結(jié)果:
+---------------------+ | date | +---------------------+ | 2019-07-01 00:00:00 | | 2020-08-01 00:00:00 | | 2021-09-01 00:00:00 | +---------------------+
Step 3:將結(jié)果存入新表
CREATE TABLE IF NOT EXISTS `output_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `date` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; INSERT INTO `output_table` (`date`) SELECT DATE_ADD(STR_TO_DATE(CONCAT(year,'-01-01'),'%Y-%m-%d'), INTERVAL month MONTH) FROM example_table;
最終得到的數(shù)據(jù)表:
+----+---------------------+ | id | date | +----+---------------------+ | 1 | 2019-07-01 00:00:00 | | 2 | 2020-08-01 00:00:00 | | 3 | 2021-09-01 00:00:00 | +----+---------------------+
通過(guò)以上步驟,我們成功地使用MySQL將年轉(zhuǎn)換成月。
上一篇mysql 建表唯一約束
下一篇mysql 展示用戶