是同一个表的,你的条件不起作用 结果相当于:select * from table如果不同表: select * from tableA where A ='B' union all select * from tableB ;
B 有没有如果可以在程序里面判断的话 可以用 拼sql 写
select * from table where A like nvl('B','%');
select * from tableB where SUBJECTCODE like nvl('aa','%'); 在oracle9i测试是可行的
其实我想实现的是 select column1,column2 from table t where t.time between to_date(parameter1, 'yyyy-mm-dd hh24:mi:ss') and to_date(parameter2, 'yyyy-mm-dd hh24:mi:ss') 其中parameter1,parameter2 是从外部传入的 如果有值,则按照传入的时间范围查询, 如果没有值则查询所有包括时间为空的。
SELECT column1, column2 FROM table t WHERE t.TIME BETWEEN NVL (TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'), t.TIME ) AND NVL (TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'), t.TIME )
SELECT column1, column2 FROM table t WHERE t.TIME BETWEEN NVL(TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'),t.TIME) AND NVL(TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'),t.TIME)
SELECT column1, column2 FROM table t WHERE t.TIME BETWEEN NVL (TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'), t.TIME ) AND NVL (TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'), t.TIME ) 你这样必须保证数据库里面t.time不为空 但是如果数据库里面存的时间为空的话,就只能捞到time不为空的。
结果相当于:select * from table如果不同表:
select * from tableA where A ='B'
union all
select * from tableB ;
可以用 拼sql 写
在oracle9i测试是可行的
select column1,column2
from table t
where t.time
between to_date(parameter1, 'yyyy-mm-dd hh24:mi:ss') and
to_date(parameter2, 'yyyy-mm-dd hh24:mi:ss')
其中parameter1,parameter2 是从外部传入的 如果有值,则按照传入的时间范围查询,
如果没有值则查询所有包括时间为空的。
FROM table t
WHERE t.TIME BETWEEN NVL (TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'),
t.TIME
)
AND NVL (TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'),
t.TIME
)
SELECT column1, column2
FROM table t
WHERE t.TIME BETWEEN NVL(TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'),t.TIME)
AND NVL(TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'),t.TIME)
FROM table t
WHERE t.TIME BETWEEN NVL (TO_DATE (parameter1, 'yyyy-mm-dd hh24:mi:ss'),
t.TIME
)
AND NVL (TO_DATE (parameter2, 'yyyy-mm-dd hh24:mi:ss'),
t.TIME
)
你这样必须保证数据库里面t.time不为空
但是如果数据库里面存的时间为空的话,就只能捞到time不为空的。