当前位置: 首页 > 面试题库 >

如何用一系列日期填充表格?

罗兴运
2023-03-14
问题内容

我需要一个MySQL表来保存2011年1月1日至2011年12月31日之间的所有日期。我创建了一个表,其中一个列名为“ _date”,键入DATE。

通过什么查询,我可以用所有想要的日期填充表格(而不必手动输入)?


问题答案:

尝试这个:

DROP PROCEDURE IF EXISTS filldates;
DELIMITER |
CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE)
BEGIN
  WHILE dateStart <= dateEnd DO
    INSERT INTO tablename (_date) VALUES (dateStart);
    SET dateStart = date_add(dateStart, INTERVAL 1 DAY);
  END WHILE;
END;
|
DELIMITER ;
CALL filldates('2011-01-01','2011-12-31');

这是使用它的SQL Fiddle:http://sqlfiddle.com/#!2
/ 65d13 / 1

按照 Andrew Fox的要求进行编辑(以检查日期是否已经存在)。

CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE)

BEGIN

DECLARE adate date;

    WHILE dateStart <= dateEnd DO

        SET adate = (SELECT mydate FROM MyDates WHERE mydate = dateStart);

        IF adate IS NULL THEN BEGIN

            INSERT INTO MyDates (mydate) VALUES (dateStart);

        END; END IF;

        SET dateStart = date_add(dateStart, INTERVAL 1 DAY);

    END WHILE;

END;//

这是使用它的SQL小提琴:http
://sqlfiddle.com/#!2/66f86/1



 类似资料:
  • 并希望按列表中的值更改行C1-C3。预期产出:

  • 问题内容: 如何用对象类型的列表中的值填充JTable。我的代码如下所示: 我已经有了列,列表将来自schedule变量?考虑这些列,如何将其放到表中? 问题答案: 看一下DefaultTableModel。您可以遍历List并为每一行创建Object数组。

  • 问题内容: 我目前正在使用Page_Load中的以下代码创建和读取DataTable 我想知道如何转换此代码,以便它从SQL查询中读取?我正在尝试下面的代码,但不确定如何连接它们,以便页面加载中的数据表使用下面的SQL命令填充。 我被困在: 我希望成为 问题答案: 您需要修改方法,并在其中添加“实验”代码,然后返回。

  • 问题内容: 我在用SQL Server填充同一项目的日期和时间时遇到麻烦。以下是三个简单的记录。 我希望我的结果在1行中,并且在Date_Time列中填入一个逗号,然后是逗号。 有人能帮我指出正确的方向/链接或简单的查询来解决问题吗? 谢谢,XH。 问题答案: 如果您使用的是SQL Server 2017或更高版本,则可以使用string_agg如下所示: 如果它在sql server 2017以

  • 作为我作业的一部分,我们得到了一个我们不能更改的接口,以及一些用来开发我们方法的预定义测试。 界面如下: 我正在运行的特定测试: 以及我需要从测试中创建的方法: 从测试中我可以看出,在方法中,我需要创建并用注册映射中匹配的学生填充它,然后返回列表。 我创建了以下字段:- 我搞不懂的是,如何将注册地图中的数据传递到学生列表中,以使测试中的断言为真。

  • 问题内容: 我有两张表。 带有客户和日期的订单表。数据仓库中的日期维度表。 订单表并不包含给定月份中每个日期的活动,但是我需要返回一个填充日期和客户缺口的结果集。 例如,我需要这个: 看起来像这样: 这似乎是一个左外部联接,但它没有返回预期的结果。这是我正在使用的内容,但这并没有按预期返回日期表中的每个日期。 问题答案: 问题是您需要所有日期的所有客户。当您执行时,customer字段将为NULL