Funkcja NOW() w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

NOW() to funkcja SQL zwracająca aktualną datę i czas według zegara serwera bazy danych. W MySQL nie wymaga podawania żadnych argumentów, dlatego zapisuje się ją z pustymi nawiasami:

SELECT NOW();

Przykładowy wynik:

2026-05-09 14:32:10

Dlaczego NOW() nie ma argumentów?

Funkcja NOW() pobiera bieżącą datę i godzinę automatycznie z systemu/serwera bazy danych. Użytkownik nie musi przekazywać tekstu, liczby ani nazwy kolumny.

Dla porównania wiele innych funkcji SQL wymaga argumentu:

  • UPPER('tekst') — zamienia tekst na wielkie litery,
  • YEAR(data) — wyciąga rok z daty,
  • LEN(tekst) lub LENGTH(tekst) — zwraca długość tekstu, zależnie od systemu bazodanowego.

Przykłady użycia

Dodanie rekordu z aktualną datą utworzenia:

INSERT INTO zamowienia (id_klienta, data_zamowienia)
VALUES (15, NOW());

Wyświetlenie rekordów utworzonych dzisiaj, przykład w MySQL:

SELECT *
FROM logi
WHERE DATE(data_dodania) = CURDATE();

Ważne na egzaminie

W pytaniach egzaminacyjnych należy zwrócić uwagę, czy funkcja potrzebuje danych wejściowych. NOW() nie przetwarza przekazanego tekstu ani kolumny — sama zwraca bieżącą datę i czas. Dlatego spośród funkcji LEN, NOW, YEAR, UPPER poprawną odpowiedzią jest NOW.