在发布这个问题之前,我已经看过案例,但它不能解决我的问题。运行一个基于条件的选择
该情景是基于它是否是星期一,我需要从表中获取一些数据。我可以在PL/SQL块中编写它,但我想用普通的SQL来实现它。
有什么建议吗?
在发布这个问题之前,我已经看过案例,但它不能解决我的问题。运行一个基于条件的选择
该情景是基于它是否是星期一,我需要从表中获取一些数据。我可以在PL/SQL块中编写它,但我想用普通的SQL来实现它。
有什么建议吗?
to_char(sysdate-3, 'DAY')
将返回MONDAY
可以修剪它,并使用比null
decode
返回不同的值:
select decode(TRIM(to_char(sysdate-3, 'DAY')),'MONDAY', 1, null) from dual
编辑:
在可以
where decode(to_char(sysdate-3, 'fmDAY'), 'MONDAY', 1, null) =1
* sysdate-3
在何处选择,因为它是图尔SDAY今天
'to_char(sysdate-3,'fmDAY')'也可以代替TRIM。 –
假设表具有相同的结构,这会工作:
select * from table1
where to_char(sysdate, 'DY') = 'MON'
union all
select * from table2
where to_char(sysdate, 'DY') != 'MON'
使用一天文字像这样的是依赖于你的NLS设置。所以如果需要的话调整解决方案。
为了扩大这一点,这是我想要做的 - 检查curdate是星期一,然后选择* from another_table。这在SQL中可能吗? – julie