首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取sql查询中的所有24小时

获取sql查询中的所有24小时
EN

Stack Overflow用户
提问于 2011-05-09 05:11:13
回答 2查看 3K关注 0票数 0

我的问题是如何选择一天中的所有24小时作为select中的数据

有一种更好的方法可以做到:

代码语言:javascript
复制
select 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23
  from dual

我的目标数据库是Mysql,但是我很欣赏sql标准的解决方案!

EN

回答 2

Stack Overflow用户

发布于 2011-05-09 06:51:38

MySQL没有递归功能,因此只能使用NUMBERS表技巧-

  1. 创建一个只保存递增数字的表-使用auto_increment很容易做到:

DROP TABLE IF EXISTS examplenumbers;CREATE table examplenumbers( id int(10) unsigned NOT NULL auto_increment,PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT DEFAULT TABLE使用:

插入数字(id)值(NULL)

根据需要对任意多个值执行...for。在这种情况下,INSERT语句至少需要运行25次。

  • 使用DATE_ADD构造小时列表,该列表根据NUMBERS.id值递增:

为什么是数字,而不是日期?

简单-可以根据数字生成日期,如我提供的示例所示。它还意味着使用单个表,而不是每种数据类型一个表。

票数 4
EN

Stack Overflow用户

发布于 2011-05-09 05:21:08

代码语言:javascript
复制
SELECT * from dual WHERE field BETWEEN 0 AND 24 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5930399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档