我想插入整个2019-01-01至2019-12-31的日期和星期几。但是我做不到。
我尝试使用date_format函数。
这是我的桌子。表格名称为food_user,我想在re_date,re_day 2019-01-01〜2019-12-31中插入日期和日期
INSERT INTO food_user (NAME,re_date,re_day) VALUES ('Alex' , ? , ?);
答案 0 :(得分:1)
如果您使用的是MariaDB,请尝试以下代码以获取年份中的所有日期:
SELECT '2019-01-01' + INTERVAL seq DAY FROM seq_0_to_364;
or
SELECT '2018-12-31' + INTERVAL seq DAY FROM seq_1_to_365;
要理解这一点,MariaDB具有一个内置的SEQUENCE Engine参考-https://mariadb.com/kb/en/library/sequence-storage-engine/。
基本键入SELECT seq FROM seq_1_to_10;
将使您从1到10的数字序列。在这种情况下,整年是365天,因此seq_1_to_365将返回从1到365的数字。如果您从零开始计数(0 ),那么您需要将最后一个值视为364,因此如上例所示,将序列更改为seq_0_to_364。从查询中,您可以执行以下操作:
INSERT INTO food_user (NAME,re_date,re_day)
SELECT 'Alex','2019-01-01' + INTERVAL seq DAY,DAYNAME('2019-01-01' + INTERVAL seq DAY) FROM seq_0_to_364;
答案 1 :(得分:0)
如果您使用MySQL,
您可以尝试
insert into food_user(name, re_date, re_day) values("Hello", "2019-01-01", dayofweek("2019-01-01"));
如果要插入从2019-01-01到2019-12-31的所有日期,则可以使用php或任何其他服务器端语言插入记录。
如果使用的是Oracle,则可以使用PL / SQL功能插入所有这些
答案 2 :(得分:0)
也许这可以帮助
insert into food_user (name,re_date,re_day) values ('Alex' , DATE_FORMAT(NOW(), "%Y-%m-%d") , DATE_FORMAT(NOW(), "%W"));