Лучший подход, вероятно, зависит от того, как вы вставляете свои данные - будь то операторы вставки SQL * Plus, SQL * Loader, внешние таблицы или что-то еще.
Если вы работаете в SQL * Plusзатем вы можете выполнить команду alter session
автоматически при входе в систему, для себя только с профилем пользователя или с профилем сайта .
Если вы делаетемногие отдельные операторы вставки уже используют to_number
, тогда для этого есть третий параметр , который позволяет вам устанавливать параметры NLS для каждой команды.Это звучит как болезненный способ сделать «вставку большого количества данных», и внесение поправок в существующие операторы может быть не слишком увлекательным, поскольку вам также придется добавить маску формата, если ее нет.
Кроме того, вы можете установить параметры NLS в вашей среде;Например, вы можете установить NLS_LANG с настройкой NLS_NUMERIC_CHARACTERS
, которую вы хотите.Это, вероятно, предпочтительнее в целом, и будет применяться, если вы используете SQL * Loader для загрузки ваших данных;хотя я подозреваю, что это не так, и вы все равно можете использовать to_number
в контрольном файле.
У некоторых клиентов есть другие способы настройки этого;Например, в SQL Developer есть раздел Database-> NLS.
Многое о NLS здесь .