比如数据库有个字段 yearMonth
都是2007-01,2007-02,2007-03,2007-05这样的数据
程序里传入参数2007-03
我要把yearMonth等于2007-01,2007-02,2007-03的三条数据搜出来,sql的where条件怎么写
都是2007-01,2007-02,2007-03,2007-05这样的数据
程序里传入参数2007-03
我要把yearMonth等于2007-01,2007-02,2007-03的三条数据搜出来,sql的where条件怎么写
解决方案 »
- dbms_xmlquery检索结果不完整是怎么回事啊?
- SUSE LINUX下ORACLE无法解析指定的连接标识符
- --求高人相助:一个SQL Server 2005的存储过程转换为Oracle的---
- 并行parallel问题,高手请进
- 菜鸟问题:一台机器上配了2个数据库实例,其中一个正常,另一个总是连不上!
- 用.NET更新Oracle数据库表中的内容会死掉!
- 关于jsp写入oracle的clob字段的问题请高手帮忙解决一下,谢谢,
- forward-only cursor怎么翻译?
- 谁能帮忙解释一下?
- 在ibatis中怎么写clob的插入语句
- 请教一个比较复杂的SQL查询语句
- 动态Sql中报错:缺失逗号
譬如表格叫Ytab,
select * from Ytab where YearMonth bwtween iYearMonth
and to_char(add_months(to_date(iYearMonth,'yyyy-mm'),-2),'yyyy-mm');
WHERE yearMonth IN (TO_CHAR(ADD_MONTHS(to_date('200703','yyyy-mm'),-1),'YYYY-MM'),ADD_MONTHS(to_date('200703','yyyy-mm'),-2),'YYYY-MM'),'2007-03')
2 UNION SELECT '2007-02' FROM DUAL
3 UNION SELECT '2007-03' FROM DUAL
4 UNION SELECT '2007-05' FROM DUAL;4 rows insertedSQL> SELECT * FROM MYTEST
2 WHERE YEARMONTH=TO_CHAR(ADD_MONTHS(TO_DATE('2007-03','YYYY-MM'),-1),'yyyy-mm')
3 OR YEARMONTH=TO_CHAR(ADD_MONTHS(TO_DATE('2007-03','YYYY-MM'),-2),'yyyy-mm')
4 OR YEARMONTH='2007-03';YEARMONTH
------------------------------------------------------------
2007-01
2007-02
2007-03
DELETE MYTEST;
INSERT INTO MYTEST SELECT '2007-01' FROM DUAL
UNION SELECT '2007-02' FROM DUAL
UNION SELECT '2007-03' FROM DUAL
UNION SELECT '2007-05' FROM DUAL
UNION SELECT '2006-12' FROM DUAL;SELECT * FROM (
SELECT YEARMONTH FROM MYTEST
WHERE YEARMONTH <= '2007-03' //可以换成传递的参数
ORDER BY YEARMONTH DESC
)
WHERE ROWNUM <= 3;