MONTHNAME по-португальски MYSQL - PullRequest
       2

MONTHNAME по-португальски MYSQL

0 голосов
/ 28 декабря 2018

У меня огромный запрос (в файле PHP), который дает мне название месяца из некоторых дат:

CASE A.STATUS
WHEN 'Cancel' THEN LEFT(MONTHNAME(DT_CANCEL),3)
WHEN 'About to cancel' THEN LEFT(MONTHNAME(DATA_REGISTER),3)

END AS MONTH_CANCEL,

Есть ли способ вставить мой язык в строку с MONTHANAME?

Что-то вроде:

WHEN 'Cancel' THEN SET LANGUAGE Portuguese LEFT(MONTHNAME(DT_CANCEL),3)

Я не хочу писать кейс для eveymonth для преобразования 'Dec' в 'Dez' и т. Д., Это займет слишком много времени.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

К сожалению, в MySQL это невозможно сделать динамически в запросе.

Из документации:

Язык, используемый для названия месяца, контролируется системной переменной lc_time_names,

Для изменения параметра требуется отдельная команда SQL:

SET lc_time_names = 'pt_PT';
SELECT MONTHNAME('2018-12-28') AS 'Month';

Значение lc_time_names сохраняется в течение всего времени жизни сеанса MySQL.

0 голосов
/ 28 декабря 2018

Выполните следующий запрос перед запуском запроса:

SET lc_time_names = 'pt_PT';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...