MariaDB: Как считать локальный формат даты с STR_TO_DATE?

0

У меня есть 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()

(см. здесь).

Есть ли способ загрузить столбец даты с учетом немецкой/швейцарской нотации?

Теги:
mariadb

1 ответ

1

Название месяца на немецком языке (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');
  • 0
    Step сделал шаг 2) и 3), но это не работает. В документации упоминалось, что lc_times_names не влияет на STR_TO_DATE . Может быть, если я изменюсь глобально? Как я могу изменить глобально?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню