В моей таблице есть поле varchar
, которое содержит дату в формате: Dic 31 1999 12:00AM
, которую обычно можно без проблем конвертировать, используя to_date
, конфигурирующую 'Mon DD YYYY HH:MIAM'
.
Названия месяцев, конечно, могут быть на любом языке. Например, январь будет Jan
на английском языке и Ene
на испанском языке.
Я считаю, что клиент Oracle выберет локаль машины, чтобы выяснить, какой язык является входящей строкой. Единственная проблема заключается в том, что это не всегда будет работать, если вы являетесь сервером, на котором вы не можете точно знать, откуда берется дата.
Моя текущая проблема заключается в том, что каждый раз, когда я работаю на испанском настольном компьютере и пытаюсь обработать дату с английскими именами месяцев, я получаю сообщение об ошибке «Недействительный месяц».
Есть ли способ, которым я мог бы сказать Oracle, во время выполнения, какой язык я посылаю?
Текущий уродливый обходной путь - это перевод не соответствующих месяцев на испанский.