Pytanie dotyczy rozróżnienia funkcji SQL, które można wywołać bez podawania parametrów, od funkcji wymagających argumentu wejściowego. Odpowiedź now odnosi się do funkcji zwracającej bieżącą datę i czas. W wielu popularnych systemach baz danych jest to funkcja bezargumentowa (wywoływana jako now() lub równoważna), ponieważ do wyliczenia wyniku nie potrzebuje danych z kolumny ani stałej.
Pozostałe propozycje dotyczą typowych funkcji przetwarzających wartość wejściową:
- len – funkcja długości łańcucha znaków: aby policzyć długość, musi dostać tekst (np. wartość kolumny lub literał). Bez argumentu nie ma "czego liczyć".
- year – funkcja wydzielająca rok z daty/czasu: wymaga daty, z której ma pobrać rok. Bez argumentu nie ma źródła, z którego wydobyć składową.
- upper – funkcja zamieniająca litery na wielkie: musi dostać napis, który ma przekształcić. Bez argumentu nie jest zdefiniowane, jaki tekst miałby zostać zmieniony.
W praktyce egzaminacyjnej warto pamiętać o dwóch rzeczach: (1) różne dialekty SQL mają różne nazwy funkcji i czasem inne listy parametrów, (2) zapis wywołania zwykle zawiera nawiasy, nawet gdy argumentów nie ma. Dlatego przy rozwiązywaniu testów dobrze jest kojarzyć funkcję po jej celu: funkcje "systemowe" (np. bieżący czas) częściej są bezargumentowe, a funkcje "transformujące" (tekst, data z kolumny) zazwyczaj wymagają parametru.