Простой запрос проходит, а вот с условиями такого рода нет, понятно, что ошибка в синтаксисе, да вот не пойму где именно. В сети пишут, что ошибка не обязательна в 21 строке.
ps: такой запрос в оракле проходит.
ps2: (SYSDATE, 'dd.mm') без ' ' не проходит в оракле.
Кто может помочь?
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- if ($conn = oci_connect("Login", "Password", "SID", 'utf8')) {
- echo '';
- } else {
- $error = oci_error();
- echo "Нет подключения!". $err['text'];
- }
- $sql = oci_parse($conn, 'SELECT ffio, podr
- FROM (SELECT ffio,
- to_podr (lschet.fcex) podr,
- lschet.fdatuv,
- fcex,
- lschet.flasttime,
- CASE
- WHEN fborndate <> 0
- THEN
- SUBSTR (to_oradate (fborndate), 1, 5)
- END
- AS day
- FROM GALZP1.persons INNER JOIN GALZP1.lschet ON lschet.ftperson = persons.fnrec)
- WHERE day = (SELECT TO_CHAR (SYSDATE, 'dd.mm') FROM DUAL)
- AND fdatuv = 0
- AND to_podr (fcex) IS NOT NULL
- AND flasttime = 0');
- oci_execute($sql);
- echo "<table border='1'>\n";
- while ($row = oci_fetch_array($sql, OCI_ASSOC+OCI_RETURN_NULLS)) {
- echo "<tr>\n";
- foreach ($row as $item) {
- echo " <td>" . ($item) . "</td>\n";
- }
- echo "</tr>\n";
- }
- echo "</table>\n";
- ?>