17,086
社区成员
发帖
与我相关
我的任务
分享
select * from table1 where Decode(sftj,'2',1,Decode(sftj,'3',1))=1;
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 1000 1980-12-17 800.10 20
7499 ALLEN SALESMAN 7698 1981-2-20 4 1600.00 300.00 30
7521 WARD SALESMAN 7698 1981-2-22 1 1250.00 500.00 30
7566 JONES MANAGER 7839 1981-4-2 10 2975.00 20
7654 MARTIN SALESMAN 7698 1981-9-28 5 1250.00 1400.00 30
7698 BLAKE MANAGER 7839 1981-5-1 2: 2850.00 30
7782 CLARK MANAGER 7839 1981-6-9 10 2450.00 10
7788 SCOTT ANALYST 7566 1987-4-19 1 3000.00 20
7839 KING PRESIDENT 1981-11-17 5000.00 10
7844 TURNER SALESMAN 7698 1981-9-8 0: 1500.00 0.00 30
7876 ADAMS CLERK 7788 1987-5-23 9 1100.00 20
7900 JAMES CLERK 7698 1981-12-3 1 950.00 30
7902 FORD ANALYST 7566 1981-12-3 6 3000.00 20
7934 MILLER CLERK 7782 1982-1-23 9 1300.00 10
14 rows selected
SQL> select * from emp where empno=7369 or ((select count(*) from emp where empno=7369)=0 and empno=7499);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 1000 1980-12-17 800.10 20
SQL> select * from emp where empno=1 or ((select count(*) from emp where empno=1)=0 and empno=7499);
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7499 ALLEN SALESMAN 7698 1981-2-20 4 1600.00 300.00 30
SQL>
SQL> select 1 from dual where 1=2 ;
1
----------
SQL> select 1 from dual where 1=2 or (not 1=2 and 3=3);
1
----------
1
SQL>