解决方案 »
- oracle序列问题
- oracle11g遇到一灵异问题,求解决
- oracle 利用PL/SQL 实现分页
- 一道SQL题
- 在客户端运行访问oracle数据库的程序是否必须要在客户端装一个oracle客户端???
- 怎么查找表中各组记录某值最大的记录
- 监听程序添加地址时出现“要求有效的日志文件”?我有监听器,listener.ora文件和tnsnames.ora文件都有,都配置好了。。。
- oracle 9i 的"i"指什么 10g的"g"又指什么?
- 怎么建立这样的表?小弟没有分,大家帮帮我
- oracle 存储过程创建错误
- Myeclipse中操作JDBC,同样的代码先前不能执行,重启计算机后可以执行
- 领导让设计表,求各位帮忙指导指导,下面是需求
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 6500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 6500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)如果输入0050的话,还要
能查询到
6001 0100
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 6500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)如果输入0050的话,还要
能查询到
6001 0100
WITH test AS(
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 0500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)
OR 0500 BETWEEN (CASE WHEN b<a THEN b-10000 ELSE to_number(b) END) AND a
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 6500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)如果输入0050的话,还要
能查询到
6001 0100
WITH test AS(
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 0500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)
OR 0500 BETWEEN (CASE WHEN b<a THEN b-10000 ELSE to_number(b) END) AND a3q,结贴
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 6500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)如果输入0050的话,还要
能查询到
6001 0100
WITH test AS(
SELECT '5000' a,'6000' b FROM dual UNION ALL
SELECT '6001','7000' FROM dual UNION ALL
SELECT '6001','0100' FROM dual )
SELECT * FROM test WHERE 0500 BETWEEN a AND (CASE WHEN b<a THEN b+10000 ELSE to_number(b) END)
OR 0500 BETWEEN (CASE WHEN b<a THEN b-10000 ELSE to_number(b) END) AND a这个有点问题啊,不能用 or ,我输入一个9999 把三个都查出来了