我有两个变量TO_DATE
和FROM_DATE
。我的表格有两个字段DOJ
和DOL
。我想选择DOJ < TO_DATE and DOL > FROM_DATE
。
如何为此编写SQL查询?
答案 0 :(得分:2)
您可能会遇到名为to_date的变量的麻烦,因为这是一个内置的Oracle命令。无论使用哪个变量,您都可以使用双引号解决这个问题,如下所示:
SELECT * FROM my_table WHERE doj < "to_date" AND dol > from_date;
答案 1 :(得分:0)
目前尚不清楚你想做什么。
我想选择DOJ&lt;的所有记录。在时间和时间上,DOL&gt; FROM_DATE。
SELECT *
FROM MY_TABLE
WHERE DOJ < "TO_DATE" AND DOL > "FROM_DATE"; -- using double quotes in order to
-- avoid confusion with TO_DATE
-- built-in function with the same name.
-- Thanks to kicsit ;-)
我想选择DOJ&lt;的所有记录。 TO_DATE和,SEPALLATELY,DOL&gt; FROM_DATE。
SELECT *
FROM MY_TABLE
WHERE DOJ < "TO_DATE"
UNION -- UNION ALL substituted with UNION, thanks to kicsit user ;-)
SELECT *
FROM MY_TABLE
WHERE DOL > "FROM_DATE";
......或 - 是一样的:
SELECT *
FROM MY_TABLE
WHERE DOJ < "TO_DATE" OR DOL > "FROM_DATE";