有一个select语句:
select * from table1 where table1.字段1 = 外部参数但如果外部参数是数字0的话,上面的抽出条件就不使用;有没有什么办法把“外部参数是数字0的话,上面的抽出条件就不使用”这个条件放在SQL语句里一起实现
而不是分开来写不同情况下的SQL语句
select * from table1 where table1.字段1 = 外部参数但如果外部参数是数字0的话,上面的抽出条件就不使用;有没有什么办法把“外部参数是数字0的话,上面的抽出条件就不使用”这个条件放在SQL语句里一起实现
而不是分开来写不同情况下的SQL语句
SELECT *
FROM TABLE1
WHERE TABLE1.字段1 = DECODE(外部参数,0,TABLE1.字段1,外部参数);
FROM TABLE1
WHERE TABLE1.字段1 = DECODE(外部参数,0,TABLE1.字段1,外部参数);
这个方法很好。
FROM TABLE1
WHERE TABLE1.字段1 = DECODE(外部参数,'%',TABLE1.字段1,外部参数);
单引号里面的%代表什么字符?是要把比较的字符放在%后面呢?是不是这样写:
SELECT *
FROM TABLE1
WHERE TABLE1.字段1 = DECODE(外部参数,'%0',TABLE1.字段1,外部参数);
我这里%只是代表全部,没有过滤,有时候我们会用'00'之类的代替,总之是用过滤条件里不会出现的字符串这种比较方法,主要适用于用下拉菜单来传参数的,这种参数都是事先设置好的
if 外部参数 = “0”
select * from table1else
select * from table1 where table1.字段1 = 外部参数但是我想用一个SQL语句把两种情况都包括了,还有什么办法吗?(外部参数是字符型的)
select * from table1 where (外部参数 = 0 OR table1.字段1 = 外部参数)
就这个了