Oracle中年月日级联填充查询语句
2011-08-25 16:15
169 查看
最近项目中的查询模块中,查询条件用到了年月日下拉框,默认下拉框中都要填充数据,分别是年、月、日,并且还要实现级联要求。这就需要根据不同的年填充月份数据,不同的月填充不同的日,填充的数据需要查询语句完成。通过努力终于实现了想要的结果,如下:
1.年份:
2.月份:
3.日期:
感觉这语句还是非常用得着的,如果大家还有其它好的语句,希望能拿出来分享~~~
1.年份:
select (1 - level +to_char(sysdate, 'yyyy')) years from dual connect by level <=10
2.月份:
SELECT CASE WHEN mons<10 THEN '0'||mons ELSE to_char(mons) END monsNew FROM ( select(1 - level + decode(to_char(sysdate, 'yyyy'), '?年份', --参数,本年只填充当前月份以前的时间 to_char(sysdate, 'MM'),12)) mons from dual connect by level <= decode(to_char(sysdate, 'yyyy'), '?年份', to_char(sysdate, 'MM'), 12))
3.日期:
SELECT CASE WHEN days<10 THEN '0'||days ELSE to_char(days) END daysNew FROM ( select (1 - level + decode(to_char(sysdate, 'yyyy'), '?年份', decode(to_char(sysdate, 'MM'), '?月份', to_number(to_char(sysdate, 'dd')), to_number(to_char(last_day(to_date('?年份?月份'','yyyyMM')),'dd'))), to_number(to_char(last_day(to_date('?年份?月份'','yyyyMM')),'dd')))) days from dual connect by level <= decode(to_char(sysdate, 'yyyy'), '?年份', decode(to_char(sysdate, 'MM'),'08', to_number(to_char(sysdate, 'dd')),to_number(to_char(last_day(to_date ('?年份?月份','yyyyMM')),'dd'))), to_number(to_char(last_day(to_date('?年份?月份'','yyyyMM')),'dd'))) )
感觉这语句还是非常用得着的,如果大家还有其它好的语句,希望能拿出来分享~~~
相关文章推荐
- ORACLE 数据库的级联查询语句
- Oracle 取上周一到周末日期的查询语句
- Oracle生成查询包括对应于所有数据表记录语句中指定的字段名
- 见微知著 从Select语句看Oracle查询原理
- 查询Oracle正在执行的sql语句,锁表,解锁
- 关于oracle sql语句查询时表名和字段名要加双引号的问题详解
- 一些比较有用的oracle查询语句
- Oracle 查询并删除重复记录的SQL语句
- Oracle的几种分页查询语句
- Oracle中查询本月星期5的所有日期列表的语句
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- oracle入门之 Select查询语句(一)
- ORACLE 查看CPU使用率最高的语句及一些性能查询语句
- Oracle分页查询语句(四)
- Oracle学习一(简单查询语句)
- oracle的查询语句中判断字符是否是全数字
- Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用。
- 查询oracle最耗资源的sql语句
- ORACLE 查看CPU使用率最高的语句及一些性能查询语句
- Oracle 分页查询语句