Следующий день вернется на итальянский язык:
SET lc_time_names = 'it_IT';
select date_format('2018/01/01','%W') as day_italian;
Однако мне нужно конвертировать или форматировать дату на несколько языков, поэтому она вернет мне еще одну колонку на английском, японском и так далее...
Моя проблема в том, что я должен установить локаль перед запуском команды select.
Создайте временную таблицу с тремя столбцами: язык, будний день (int) и перевод. Затем вы можете присоединиться к нему с использованием языка и DAYOFWEEK() или WEEKDAY(). К сожалению, нет более простого способа, поскольку ни одна функция даты не поддерживает языковые параметры.