您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在SQL结果中(在mysql或perl端)填充空日期的最直接方法是什么?

在SQL结果中(在mysql或perl端)填充空日期的最直接方法是什么?

当在服务器端需要类似的内容时,通常会创建一个表,其中包含两个时间点之间的所有可能的日期,然后将该表与查询结果连接起来。像这样:

create procedure sp1(d1 date, d2 date)
  declare d datetime;

  create temporary table foo (d date not null);

  set d = d1
  while d <= d2 do
    insert into foo (d) values (d)
    set d = date_add(d, interval 1 day)
  end while

  select foo.d, count(date)
  from foo left join table on foo.d = table.date
  group by foo.d order by foo.d asc;

  drop temporary table foo;
end procedure

在这种特殊情况下,最好在客户端进行一点检查,如果当前日期不是previos + 1,则添加一些附加字符串。

MySQL 2022/1/1 18:12:31 有874人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶