如何多次查询Where Datetime?
How to query Where Datetime many time?
我想多次查询日期时间。
但我尝试查询它不起作用。
示例
Table cus_bill
Number Period
A-20160101 01/2015
A-20160410 04/2015
A-20160912 09/2015
A-20161020 10/2015
A-20161102 11/2015
A-20161219 12/2015
SQL
SELECT v.*
FROM cus_bill v
WHERE TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') >= TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
and TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') <= TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
and V.PERIOD IN ('01/2015','09/2015')
但它不起作用(0 行)。
期望输出:
Number Period
A-20160101 01/2015
A-20160912 09/2015
A-20161020 10/2015
A-20161102 11/2015
A-20161219 12/2015
WHERE TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') >= TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
and TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') <= TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
and V.PERIOD IN ('01/2015','09/2015')
你不会得到任何行,因为你正在使用 AND 条件以及 IN 条件,这永远不会是真的在 01/10/2015
和 01/12/2015
之间永远不要有 '01/2015'
或 '09/2015'
。即日期不能在 Oct
和 Dec
之间,也不能同时在 Jan
或 Sep
之间。
您需要 OR 条件。此外,您可以使用 BETWEEN 条件来减少代码:
WHERE TO_DATE('01/'|| V.PERIOD,'DD/MM/YYYY')
BETWEEN TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
AND TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
OR V.PERIOD IN ('01/2015','09/2015')
我想多次查询日期时间。 但我尝试查询它不起作用。
示例
Table cus_bill
Number Period
A-20160101 01/2015
A-20160410 04/2015
A-20160912 09/2015
A-20161020 10/2015
A-20161102 11/2015
A-20161219 12/2015
SQL
SELECT v.*
FROM cus_bill v
WHERE TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') >= TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
and TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') <= TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
and V.PERIOD IN ('01/2015','09/2015')
但它不起作用(0 行)。
期望输出:
Number Period
A-20160101 01/2015
A-20160912 09/2015
A-20161020 10/2015
A-20161102 11/2015
A-20161219 12/2015
WHERE TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') >= TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
and TO_DATE('01/'||V.PERIOD,'DD/MM/YYYY') <= TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
and V.PERIOD IN ('01/2015','09/2015')
你不会得到任何行,因为你正在使用 AND 条件以及 IN 条件,这永远不会是真的在 01/10/2015
和 01/12/2015
之间永远不要有 '01/2015'
或 '09/2015'
。即日期不能在 Oct
和 Dec
之间,也不能同时在 Jan
或 Sep
之间。
您需要 OR 条件。此外,您可以使用 BETWEEN 条件来减少代码:
WHERE TO_DATE('01/'|| V.PERIOD,'DD/MM/YYYY')
BETWEEN TO_DATE('01/'|| '10/2015','DD/MM/YYYY')
AND TO_DATE('01/'|| '12/2015','DD/MM/YYYY')
OR V.PERIOD IN ('01/2015','09/2015')