需要将日期范围转换为 MySQL 中的多个日期条目
Posted
技术标签:
【中文标题】需要将日期范围转换为 MySQL 中的多个日期条目【英文标题】:Need to convert a date range to multiple date entry in MySQL 【发布时间】:2014-04-30 08:10:08 【问题描述】:我有一个查询将插入特定日期范围。
INSERT INTO task (Task,Description,startdate,enddate) VALUES ('$Task', '$Description', '$start_date', '$end_date', );
但我需要根据开始日期和结束日期创建多个日期条目。例如,我选择 01-02-2014 作为开始日期,选择 10-02-2014 作为结束日期。它应该为从 01 到 10 的每个日期创建 10 个多个条目。
请帮忙解决一下
【问题讨论】:
我不知道一个快捷方式的 sql 查询答案,但是您可以创建多个使用迭代日期范围创建的 [批量插入语法] 查询。 【参考方案1】:为了节省条目,也许您应该改为 选择 在数据处理阶段有什么介于两者之间的东西吗?
否则,最简单的解决方案是循环数天并插入 php 而不是 SQL。
【讨论】:
【参考方案2】:试试
$dStart = new DateTime('01-02-2014');
$dEnd = new DateTime('10-02-2014');
$dDiff = $dStart->diff($dEnd);
for($i =1; $i<=$dDiff->d; $i++)
//increase your date here
mysql_query("INSERT INTO task (Task,Description,startdate,enddate) VALUES ('$Task', '$Description', '$start_date', '$end_date'");
【讨论】:
但是我没有给出这样的日期,它取自输入字段。那该怎么办 必须是 01-02-2014 看起来像但是 m-d-y 或 d-m-y,y-m-d 从日期: 到日期: 日期将从这两个字段输入。根据输入日期,我需要创建多个条目以上是关于需要将日期范围转换为 MySQL 中的多个日期条目的主要内容,如果未能解决你的问题,请参考以下文章