У меня есть CSV файл, который я хочу загрузить в таблицу. Имеет столбец со следующим форматом даты:
'%d-%b-%y'
Например: " '01-Dez-18'
. Если я загружаю этот файл с учетом формата:
IF(@entry_dt = '',NULL,STR_TO_DATE(@entry_dt, '%d-%b-%y'))
Я получаю предупреждение:
Неверное значение даты и времени: '01 -Dez-12 'для функции str_to_date
Это связано с форматом столбца de_CH
но локальными и глобальными настройками являются en_US
. Вот почему 01-Jan-12
был загружен правильно. Изменение локальной настройки
SET lc_time_names = 'de_CH';
не работает, т.к.
lc_time_names не влияет на функцию STR_TO_DATE() или GET_FORMAT()
(см. здесь).
Есть ли способ загрузить столбец даты с учетом немецкой/швейцарской нотации?
Название месяца на немецком языке (Dez). Если вы измените его на Dec, это сработает.
если вы хотите получить немецкие имена, вы должны установить плагин локали
1) посмотреть, если уже установлено:
show plugins;
2) установить плагин
INSTALL SONAME 'locales';
3) установить локальный или глобальный в my.ini
SET lc_time_names = 'de_DE';
select STR_TO_DATE('01-Dec-18', '%d-%b-%y');
lc_times_names
не влияет наSTR_TO_DATE
. Может быть, если я изменюсь глобально? Как я могу изменить глобально?