Tabela uczniowie ma data_ur w formacie rrrr-mm-dd. Która kwerenda wyświetli imiona i nazwiska uczniów urodzonych w 2001?
Źle.
== i wzorzec bez cudzysłowów są błędne.Źle. Bez znaków
% dopasuje tylko dokładnie „2001”.Dobrze. Wzorzec
"2001-%-%" dopasuje cały rok 2001.Źle. W
LIKE wieloznacznikiem jest %, nie *.Data ma format
rrrr-mm-dd, więc samego roku nie da się porównać liczbą - trzeba dopasować POCZĄTEK tekstu wzorcem LIKE. Wzorzec "2001-%-%" oznacza rok 2001 oraz dowolny miesiąc i dzień (% to dowolny ciąg): SELECT imie, nazwisko FROM uczniowie WHERE data_ur LIKE "2001-%-%";. Dlatego ta kwerenda jest poprawna.Pozostałe zapytania są błędne.
LIKE "2001" wymagałoby, by cała data równała się dokładnie „2001”, a ma ona człony miesiąca i dnia. == 2001-%-% stosuje nieprawidłowy operator i brak cudzysłowów. LIKE "2001-*-*" używa gwiazdki, która w SQL nie jest wieloznacznikiem - rolę tę pełni %. Poprawne jest LIKE "2001-%-%".