#sql #apache-spark #databricks
Вопрос:
Мой SQL-запрос:
SELECT Incident Number FROM fireIncidents where Incident Date='04/04/2016'
Ошибка в инструкции SQL:
Исключение синтаксического анализа: несоответствие входных данных ‘Дата’ ожидание {, ‘;’}(строка 1, поз 57)
Комментарии:
1. Я не эксперт по базам данных, но должен ли формат даты быть:
2021-04-04
?2. Спасибо. Это сработало 🙂
Ответ №1:
У вас есть пробел в Incident Date
колонке.
Если вы хотите, чтобы spark знал, что в столбце есть место, используйте символ » в начале и в конце col.
То же Incident Number
, что и кол.
SELECT `Incident Number` FROM fireIncidents where `Incident Date`='04/04/2016'
Если ваш Incident Date
col является датой, вы можете перевести его в формат spark, используя
select `Incident Date`, to_date(`Incident Date`, 'dd/MM/yyyy') FROM fireIncidents""").show()
что дает
------------- ----------------------------------
|Incident Date|to_date(Incident Date, dd/MM/yyyy)|
------------- ----------------------------------
| 04/04/2016| 2016-04-04|
| 04/04/2016| 2016-04-04|
| 04/04/2016| 2016-04-04|
------------- ----------------------------------