我有一个 Oracle 查询,它使用“WHERE something BETWEEN FROM 和 TO”可以正常工作,如果 from/to 不一样,但是当它们是时,它不起作用。
我尝试在 PHP 上验证 from/to 是否相同,然后我更改查询,将 BETWEEN 替换为“WHERE something = date”,但它也不起作用。
这是我提到的带有 PHP 验证的查询:
<?php
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 191.238.210.61)(PORT = 1521)))(CONNECT_DATA=(SID=opera)))";
$conn = oci_connect("opera", "opera", $db);
if (!$conn):
#--- Si no hay conexión, muestra error y detiene la depuración
$m = oci_error();
echo $m['message'];
elseif ($desde == $hasta):
$consulta = "
SELECT
CONFIRMATION_NO,
NATIONALITY_DESC,
GUEST_NAME,
ADULTS,
CHILDREN,
RATE_CODE,
TRACE_ON,
DEPT_ID,
SUM(ADULTS) OVER()
|| ' ADULTOS Y '
|| SUM(CHILDREN) OVER()
|| ' NIÑOS' AS RESULT
输出示例:(使用 BETWEEN '05-SEP-19' 和 '10-SEP-19'):
145580 EE.UU JAMES LANTZKE 3 0 ALLIN5NMT 05/09/19 HK 6 ADULTOS Y 0 NIÑOS
167410 EE.UU KATHARINE BLOOD 3 0 ALLIN5NMT 05/09/19 HK 6 ADULTOS Y 0 NIÑOS
概括:
如果我做一个(在'05-SEP-19'和'10-SEP-19'之间)它会起作用
如果我做一个 (BETWEEN '05-SEP-19' 和 '05-SEP-19') 不起作用
如果我做 (trace_on = '05-SEP-19') 不起作用
我想知道如何使用 BETWEEN 查询同一天或获取搜索特定日期的结果的方法。
提前致谢!
潇湘沐
慕标琳琳