一般的月报,季报是怎么作的呢?我的想法是把日期拆分为年、季度、月分别保存起来方便查询,在实际查询时,需要根据一个时间段来查询统计,例如用户选择一个开始年一个开始季度,然后选择一个结束年,一个结束季度,那么是否可以这样:
select * from a where fromyear=2006 and fromquarter>=1
union
select * from a where toyear=2008 and toquarter<=3
union
select * from a where fromyear>2006 and toyear<2008
但如果用户选择的是fromyear=2007 toyear=2007 fromquarter=1 toquarter=3呢?怎么可以在一个sql语句里实现这两种情况的合理查询?
谢谢!
select * from a where fromyear=2006 and fromquarter>=1
union
select * from a where toyear=2008 and toquarter<=3
union
select * from a where fromyear>2006 and toyear<2008
但如果用户选择的是fromyear=2007 toyear=2007 fromquarter=1 toquarter=3呢?怎么可以在一个sql语句里实现这两种情况的合理查询?
谢谢!
解决方案 »
- SQL语句
- database 跟 instance 怎么对应起来(RAC)
- sql server2000和oracle8i能不能同时装在win2000上?
- 关于建表时遇到子表建立的问题
- Sql plus 和pl/sql指令区别大吗?
- 提取个日期吧?
- 谁能教我这个查询啊?
- 请问我会SQL Server,而且撑握得比较精通,再来学Oracle难不难学?它们之前有什么区别?
- 建立了function后,怎么调用它
- C#连接oracle数据库报错:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- oracle9i用客户端连接服务器端时报错!!!!!!!!!!!!!!!1
- oracle中导入问题
日期:to_char(report_date,'yyyymmdd')
年月:to_char(report_date,'yyyymm')
年周:to_char(report_date,'yyyyiw')
年季:to_char(report_date,'yyyyq')