mysql 日期辅助表
时间:2021-07-01 10:21:17
帮助过:21人阅读
、创建一个num表,用来存储数字0
~9
CREATE TABLE num (i
int);
#2、在num表中生成0
~9
INSERT INTO num (i)
VALUES (
0), (
1), (
2), (
3), (
4), (
5), (
6), (
7), (
8), (
9);
#3、生成一个存储日期的表,datalist是字段名
CREATE TABLE if not exists calendar(datelist date);
#4、生成并插入日期数据
INSERT INTO calendar(datelist)
SELECT
adddate(
( -- 这里的起始日期,你可以换成当前日期
DATE_FORMAT("
2016-1-1",
‘%Y-%m-%d‘)
),
numlist.id
) AS `date`
FROM
(
SELECT
n1.i + n10.i
* 10 + n100.i
* 100 + n1000.i
* 1000+ n10000.i
* 10000 AS id
FROM
num n1
CROSS JOIN num
AS n10
CROSS JOIN num
AS n100
CROSS JOIN num
AS n1000
CROSS JOIN num
AS n10000
) AS numlist;
#5、最后再添加主键即可
ALTER TABLE `calendar`
ADD COLUMN `id`
int UNSIGNED
NOT NULL AUTO_INCREMENT COMMENT
‘主键‘ FIRST ,
ADD PRIMARY KEY (`id`);
mysql 日期辅助表
标签:calendar sts value tab for comment oss null fir