конвертирования чисел в строки. В следующем примере в строку конвертируется
число 12345.67:
□ SELECT T0_CHAR(12345.67)
FROM(dual);
T0_CHAR(1
12345.67
В следующем примере T0_CHAR() используется для конвертирования
числа 12345.67 в строку с применением формата 99,999.99. Использование
этого формата приводит к тому, что в строке, возвращаемой функцией
T0_CHAR(), будет использована запятая для отделения тысяч:
□ SELECT T0_CHAR(12345.67, ‘99,999.99’)
FROM dual;
T0_CHAR(1
12.345.67
У необязательной строки формат, которую вы можете передать функции
T0_CHAR(), есть некоторое количество параметров, влияющих на строку,
возвращаемую функцией T0_CHAR(). Некоторые из этих параметров перечислены
в таблице 4.4.
Использование простых функций 111
Таблица 4.4. Параметры формата
Параметр Примеры Описание
формата
9 999 Возвращает в указанных позициях цифры с ведущим знаком
минус, если число отрицательное.
О 0999 0999: возвращает число с ведущими (левыми) нулями.
9990 9990: Возвращает число с нулями в хвосте.
999.99 Возвращает в указанной позиции десятичную точку.
9,999 Возвращает в указанной позиции запятую.
$ $999 Возвращает ведущий (стоящий перед числом) знак доллара.
в В9.99 Если целая часть числа с фиксированной точкой равна нулю,
возвращает вместо нуля пробелы.
С С999 Возвращает в указанной позиции символ валюты ISO. Значение
символа можно найти в параметре nls_iso_currency
(устанавливается администратором БД).
D 9D99 - Возвращает в указанной позиции символ десятичной точки.
Значение символа можно найти в параметре nls_
NUMERIC_CHARACTER (значением по умолчанию является
символ точки).
ееее 9. эееее Возвращает число, используя так называемую научную нотацию
(т. е. в виде числа с мантиссой и экспонентой).
FM FM90.9 Удаляет из числа ведущие и хвостовые пробелы.
G 9G999 Возвращает в указанной позиции разделитель групп. Значение
символа можно найти в параметре NLS_NUMERIC_
CHARACTER.
L L999 Возвращает в указанной позиции символ местной валюты.
Значение символа можно найти в параметре nls_CURRENCY.
mi 999MI Возвращает отрицательные числа с хвостовым знаком минус.
Возвращает положительные числа с хвостовым пробелом.
PR 999PR Возвращает отрицательные числа, заключенными в угловые
скобки (о ). Положительные числа возвращаются с ведущим
и хвостовым пробелами.
RN RN Возвращает числа как римские цифры. При задании RN возвращаются
римские цифры на верхнем регистре; при задании
гп возвращаются римские цифры на нижнем регистре.
Числа должны принадлежать диапазону от 1 до 3999.
S999 S999: возвращает отрицательное число с ведущим знаком
минус; положительное число возвращается с ведущим знаком
плюс.
999S 999S: возвращает отрицательное число с хвостовым знаком
минус; положительное число возвращается с хвостовым знаком
плюс.
112 Глава 4
Таблица 4.4. Параметры формата (окончание)
Параметр Примеры
формата
Описание
тм тм Возвращает число, используя минимальное количество символов.
По умолчанию используется формат TM9, который
возвращает число, используя фиксированную нотацию, если
число символов не превышает 64. Если количество символов,
требующееся для записи числа, превышает 64, используется
научная нотация.
и U999 Возвращает в указанной позиции символ валюты (например,
евро). Значение символа можно найти в параметре NLS_
DUAL_CURRENCY.
V 99V99 Возвращает число, умноженным на 10х (где х - число символов
9 после V). При необходимости число округляется.
X XXX Возвращает число в шестнадцатеричном виде. Если число не
является целым, оно округляется до целого.
Рассмотрим некоторые примеры конвертирования чисел в строки с использованием
функции T0_CHAR(). В приведенной ниже таблице показаны
примеры вызовов T0_CHAR() и выходные данные, возвращенные функцией
T0_CHAR().
Вызов функции T0_CHAR() Выходные данные
T0_CHAR(12345.67, ‘ 99999.99’ ) 12345.67
T0_CHAR(12345.67, '9 9 ,9 9 9 .9 9 ' ) 12,345.67
T0_CHAR(-12345.67, ‘ 99,99 9.99’ ) -12,345.67
T0_CHAR(12345.67, ‘ 099,999.99’ ) 012,345.67
T0_CHAR(12345. 67, ‘ 99,999.9900’ ) 12,345.6700
T0_CHAR(12345.67, ‘ $99,999.99’ ) $12,345.67
T0_CHAR(0.67, ‘B9.99’ ) .67
T0_CHAR(12345.67, ‘ 099,999.99’ ) USD12,345.67
T0_CHAR(12345.67, ' 9999D99’ ) 12345.67
T0_CHAR(12345.67, ‘99999.99EEEE’ ) 1 .23E+04
T0_CHAR(0012345.6700, ' FM9999.99’ ) 12345.67
T0_CHAR(12345.67, ‘ 99999G99’ ) 123,46
T0_CHAR(12345.67, ‘ L99,9 9 9 .9 9 ') $12,345.67
T0_CHAR(-12345.67, ' 99, 9 9 9.99MI’ ) 12,345.67-
T0_CHAR(-12345.67, ' 99 ,9 9 9 .99PR’ ) <12,345.67>
T0_CHAR(2007, ' RN' ) MMVII
T0_CHAR(12345.67, ‘ TM’ ) 12345.67