Дата приведения к varchar в MySQL бросает синтаксическую ошибку - PullRequest
1 голос
/ 12 июня 2019

Почему MYSQL выдает следующую ошибку в этом простом запросе

select
  cast(cast(ts as DATE) as varchar)
from
  table_name
limit
  1;

В синтаксисе SQL есть ошибка;кажется, что ошибка заключается в следующем: 'varchar) из таблицы имя_лимит 1 в строке 2

1 Ответ

3 голосов
/ 12 июня 2019

Функции CAST () и CONVERT () не поддерживают VARCHAR как тип.

Они поддерживают BINARY, CHAR, DATE, DATETIME, DECIMAL, DOUBLE, FLOAT, JSON, NCHAR, REAL, SIGNED [INTEGER], TIME, UNSIGNED [INTEGER].См. Руководство.

В любом случае вам не нужно приводить DATE к строковому типу.Во многих клиентских интерфейсах он станет строкой в ​​наборе результатов.

Некоторые интерфейсы могут преобразовываться в типы, специфичные для языка, например java.sql.Date.

...