查看: 17016|回复: 21

如何计算每个月有多少天

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2007-6-11 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
遇到一个问题,希望得到大家的帮助。
从当前月-11个月开始,到当前月为止,用一个sql语句计算出每个月的天数。
要求:字段有两个,月份和天数。12条记录。

有什么好的办法吗?
论坛徽章:
0
2#
发表于 2007-6-11 11:35 | 只看该作者
SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-LEVEL+1),'YYYY-MM') MONTH , TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-LEVEL+1)),'DD') DAY FROM DUAL CONNECT BY LEVEL <=12

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
3#
发表于 2007-6-11 11:52 | 只看该作者
楼上的非常好

使用道具 举报

回复
论坛徽章:
0
4#
发表于 2007-6-11 13:21 | 只看该作者
学习了

使用道具 举报

回复
论坛徽章:
21
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:兔
日期:2011-01-20 12:58:492011新春纪念徽章
日期:2011-02-18 11:42:47ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-01-04 11:50:44法拉利
日期:2013-09-10 14:11:32本田
日期:2014-02-16 22:57:59奔驰
日期:2014-02-16 23:04:212014年新春福章
日期:2014-02-18 16:41:112011新春纪念徽章
日期:2011-01-04 10:24:58
5#
发表于 2007-6-11 16:24 | 只看该作者
則麼會造成資料回路呢?

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2006-11-18 11:54:30ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44奥运会纪念徽章:花样游泳
日期:2008-10-24 13:28:542012新春纪念徽章
日期:2012-01-04 11:50:44ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:20
6#
发表于 2007-6-11 17:13 | 只看该作者
不需要用connect by吧?

使用道具 举报

回复
论坛徽章:
0
7#
发表于 2007-6-11 17:42 | 只看该作者
那请问各位高人,有什么简单点的SQL呢?

使用道具 举报

回复
论坛徽章:
7
生肖徽章:猪
日期:2007-09-26 17:09:50ITPUB元老
日期:2010-04-29 22:07:05
8#
发表于 2007-6-11 18:17 | 只看该作者
参考楼上的.
  SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-rownum+1),'YYYY-MM') MONTH ,
TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-rownum+1)),'DD') DAY
FROM pla_xvsphp where rownum<=12 (注:sql中的table为任意记录大于12条的表)
connect by要9i以上的数据库才能使用!!

使用道具 举报

回复
论坛徽章:
24
生肖徽章:狗
日期:2006-09-07 10:14:43数据库板块每日发贴之星
日期:2008-07-26 01:02:20生肖徽章2007版:兔
日期:2008-10-13 11:10:11奥运会纪念徽章:铁人三项
日期:2008-10-24 13:27:21开发板块每日发贴之星
日期:2008-12-27 01:01:09生肖徽章2007版:马
日期:2009-11-18 10:45:032010新春纪念徽章
日期:2010-03-01 11:21:02ITPUB9周年纪念徽章
日期:2010-10-08 09:28:51ERP板块每日发贴之星
日期:2011-05-18 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15
9#
发表于 2007-6-11 21:32 | 只看该作者
最初由 zhanglinjun007 发布
[B]参考楼上的.
  SELECT TO_CHAR(ADD_MONTHS(SYSDATE,-rownum+1),'YYYY-MM') MONTH ,
TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE,-rownum+1)),'DD') DAY
FROM pla_xvsphp where rownum<=12 (注:sql中的table为任意记录大于12条的表)
connect by要9i以上的数据库才能使用!! [/B]



注意,pla_xvsphp 中记录必须多与11条,否则不行!

使用道具 举报

回复
论坛徽章:
0
10#
 楼主| 发表于 2007-6-13 09:36 | 只看该作者
多谢各位了。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表