Ошибка SQL WHERE/AND при многократном использовании

avatar
Ashley1114
9 августа 2021 в 02:27
63
2
0

Я начал изучать SQL в пятницу. Я использую pgAdmin4

У меня проблемы с одной строкой в ​​этом коде:

SELECT first_name, last_name, nationality, date_of_birth
FROM DIRECTORS
WHERE nationality IN ('French' , 'German', 'British');
AND date_of_birth BETWEEN 01/01/1940 AND 31/12/1969; // error

Первые 3 строки работают, перечисляют все как нужно, 4-я строка выдает ошибку

ОШИБКА: синтаксическая ошибка в или рядом с "И" СТРОКА 4: И дата_рождения МЕЖДУ 01.01.1940 И 31.12.1969;

В четвертой строке я пытаюсь проверить дату_рождения между =>01/01/1940 && <=31/12/1969.

Я все еще получаю сообщение об ошибке, когда использую WHERE вместо AND в 4-й строке, я не знаю, какое слово использовать (И, ГДЕ и т. д.), когда меня просят найти более подробную информацию в база данных.

Любая помощь приветствуется.

Источник
forhad
9 августа 2021 в 02:37
0

Вы добавили ; после оператора where, что означает конец блока кода. Удалите его, а также поставьте кавычку, например, «01/01/1940» для значения даты.

Ответы (2)

avatar
the_coding_cat
9 августа 2021 в 02:35
2

Заключите дату в single quote или double qoute. И используйте правильный формат даты 'yyyy-MM-dd' и удалите первый ;.

SELECT first_name, last_name, nationality, date_of_birth
FROM DIRECTORS
WHERE nationality IN ('French' , 'German', 'British')
AND date_of_birth BETWEEN '1940-01-01' AND '1969-12-31';
avatar
fucius
9 августа 2021 в 02:37
1

стиль времени, который поддерживает mysql, - гггг-ММ-дд(ЧЧ:мм:сс) И дата_рождения МЕЖДУ '1940-01-01' И '1969-12-31';