Kiedy select zwraca null, a kiedy no_data_found jak nic nie znajdzie ?
No właśnie, różnie zwraca. Przykłady
-- no_data_found SELECT '1' FROM dual WHERE 1=2; -- null SELECT SUM(1) FROM dual WHERE 1=2; SELECT MIN(1) FROM dual WHERE 1=2; SELECT MAX(1) FROM dual WHERE 1=2; SELECT SUM(1), 'A' x FROM dual WHERE 1=2; SELECT MIN(1), 'A' x FROM dual WHERE 1=2; SELECT MAX(1), 'A' x FROM dual WHERE 1=2; -- no_data_found SELECT SUM(1), 'A' x FROM dual WHERE 1=2 GROUP BY 2; SELECT MIN(1), 'A' x FROM dual WHERE 1=2 GROUP BY 2; SELECT MAX(1), 'A' x FROM dual WHERE 1=2 GROUP BY 2; SELECT SUM(1) FROM dual WHERE 1=2 HAVING SUM(1) IS NOT NULL; SELECT MIN(1) FROM dual WHERE 1=2 HAVING SUM(1) IS NOT NULL; SELECT MAX(1) FROM DUAL WHERE 1=2 HAVING SUM(1) IS NOT NULL; |
Generalnie, chyba jak jest funkcja agregująca, to zwraca null.
Ala jak zapytanie ma klauzulę group by to zwraca not_data_found.