Функция PostgreSQL to_number: методы преобразования и примеры

Функция PostgreSQL to_numberиспользуется для преобразования заданного строкового представления числа в соответствующее ему числовое значение. Вот несколько методов, которые вы можете использовать с to_number:

  1. Основное использование:
    Основной синтаксис функции to_numberследующий:

    to_number(text, format)

    Пример:

    SELECT to_number('123.45', '999.99');
  2. Обработка нулевых значений.
    Чтобы обрабатывать нулевые значения, вы можете использовать функцию coalesce, чтобы предоставить значение по умолчанию, если входное значение равно нулю:

    SELECT to_number(coalesce('123.45', '0'), '999.99');
  3. Игнорирование недопустимого ввода:
    Если входная строка содержит нечисловые символы, вы можете использовать модификатор ignore, чтобы игнорировать их:

    SELECT to_number('12abc34', '999D99' IGNORE);
  4. Использование десятичной точки в качестве разделителя тысяч:
    Если во входной строке в качестве разделителя тысяч вместо запятой используется десятичная точка, вы можете соответствующим образом изменить формат:

    SELECT to_number('1.234.567,89', '99G999D99', 'NLS_NUMERIC_CHARACTERS = '',.''');
  5. Обработка начальных и конечных символов.
    Если входная строка содержит начальные или конечные символы, вы можете использовать функцию trim, чтобы удалить их перед преобразованием:

    SELECT to_number(trim('$' from ' $123.45 '), '999.99');