我想建一个日期维表(数据仓库)

WONDER20080808 2010-12-21 11:24:19
寻求sql脚本

如何能插入三列 年月日

类似格式如下
year month day
2000 2010-01 2010-01-01
2000 2010-01 2010-01-02
2000 2010-01 2010-01-03
...
....
2010 2010-01 2010-01-01
2010 2010-01 2010-01-02
2010 2010-01 2010-01-03

非常感谢
...全文
321 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
FIR1987 2010-12-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tangren 的回复:]
SQL code
--生成2000-01-01--2010-12-31
SELECT to_char(DAY, 'yyyy') YEAR, to_char(DAY, 'yyyy-mm') MONTH, DAY
FROM (SELECT to_date('2000-01-01', 'yyyy-mm-dd') + LEVEL - 1 DAY
FROM dual
……
[/Quote]

谢谢 能稍微解释下吗?我是建一个空表dual 三列year month day 然后执行就可以了吗
貓哥是個傳說 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tangren 的回复:]

SQL code
--生成2000-01-01--2010-12-31
SELECT to_char(DAY, 'yyyy') YEAR, to_char(DAY, 'yyyy-mm') MONTH, DAY
FROM (SELECT to_date('2000-01-01', 'yyyy-mm-dd') + LEVEL - 1 DAY
FROM dual
……
[/Quote]
老兵真強大,學習了~
tangren 2010-12-21
  • 打赏
  • 举报
回复
--生成2000-01-01--2010-12-31
SELECT to_char(DAY, 'yyyy') YEAR, to_char(DAY, 'yyyy-mm') MONTH, DAY
FROM (SELECT to_date('2000-01-01', 'yyyy-mm-dd') + LEVEL - 1 DAY
FROM dual
CONNECT BY LEVEL <= to_date('2010-12-31', 'yyyy-mm-dd') -
to_date('2000-01-01', 'yyyy-mm-dd') + 1)

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧