Declare a variable in Oracle SQL to use in a query

Kairan picture Kairan · Oct 15, 2013 · Viewed 40.1k times · Source

Hi I am trying to declare a variable to use in Oracle SQL select query as such:

DECLARE 
  myDate DATE;
BEGIN
SELECT Source as "Source", DT as "Date", Status as "Status", COALESCE("Count", 0) as "Count"
FROM (Huge SubQuery that includes many WHERE date between x and y);
END;

I need to use myDate for the query so I dont have to update it in 10 places everytime I run the query. Basically its just for declaring a variable that can be used in a where date is between clause in several places.

Answer

Hamidreza picture Hamidreza · Oct 15, 2013

try this:

variable var DATE
exec :var := '15-OCT-13'

and then your select with using :var in it