我想使用今天作为一个变量,并在这样的查询中使用它:
select record_date,
another_column
from table
where record_date = v_today
order by record_date;
其中v_today
为期望变量。我该怎么做呢?
不清楚您的问题是在传递变量,还是在如何比较日期。如果你总是想要"今天",那么就没有必要使用声明的变量。只需使用SYSDATE。由于DATE和TIMESTAMPS总是包含时间组件,因此需要使用TRUNC:
将其删除。select record_date,
another_column
from my_table
where trunc(record_date) = trunc(sysdate)
;
如果你想要'yesterday',那么从sysdate:
中减去trace 1 (day)select record_date,
another_column
from my_table
where trunc(record_date) = trunc(sysdate - 1 )
;
如果要按今天的日期筛选行,可以使用current_date
,如下所示:
select record_date, another_column
from table
where record_date = trunc(current_date)
order by record_date;