Оператор 'CAST' позволяет конвертировать между совместимыми типами.Но это значение должно быть приемлемым в качестве входных данных для создания значения целевого типа.
Итак, я ожидаю, что строка приемлема для приведения к значению DATE, только если эта строка представляет дату аналогичным образомэто было бы для создания буквального экземпляра DATE.Попробуйте стандартное представление ISO 8601:
SELECT
CAST(concat('2012-01', '-01') AS DATE) AS dolor_date
Если строковое значение имеет другой формат, вам может потребоваться использовать другие функции манипуляции со строками, чтобы получить правильный формат:
SELECT
CAST(
concat(
substring(lorem_string, 1, 4),
'-',
substring(lorem_string, 5, 2),
'-',
substring(lorem_string, 7, 2) )
AS DATE) AS dolor_date