DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Функции, возвращающие символьные значения


Эти функции в качестве аргументов принимают символы (кроме функций CHR и NCHR) и возвращают символьные значения. Большинство из них возвращают значения, имеющие тип VARCHAR2; функции, возвращающие другие значения, помечены специально. Тип данных, возвращаемых символьными функциями, имеет те же ограничения, что и основной тип базы данных, т.е. значения типа        ограничены 4000 символов (2000 в Огас1е7), а значения типа CHAR — 2000 символов (255 в Огас1е7). При использовании в процедурных операторах эти значе­ния можно присваивать переменным PL/SQL, имеющим тип либо VARCHAR2, либо CHAR.

Функция        Доступна в версии
CHR(x[USING        0racle7 (USING NCHAR_CS в 0racle8)
Где применима
Процедурные и SQL-операторы. USING_NCHAR_CS может использоваться в процедурных операторах только в 0гас1е9/ и в операторах SQL в более ранних версиях.
Возвращает символ, который имеет значение, эквивалентное х в наборе символов базы данных. CHR и ASCII являются противоположными функциями. CHR возвращает символ для заданного номера символа, a ASCII возвращает номер заданного символа. Если указано USING NCHARCS (0racle8 и выше), то в качестве набора символов используется национальный набор символов базы данных. 
Функция NCHAR (0гас1е9/и выше) эквивалентна CHR с USING_NCHAR
CONCAT
Возвращает строку string1 в соединении со строкой string2. Эта функция идентична оператору ||. Возвращаемое значение всегда имеет тип VARCHAR2 в наборе символов string1.
INITCAP        .
Возвращает строку, в которой первый символ каждого слова является прописным, а остальные символы каждого слова строчные. Слова разделяются пробелами или не алфавитно-цифровыми символами. Символы, не являющиеся буквами, не изменяются. Возвращаемый тип тот же самый, что и у строки string.
LOWER
Возвращает строку, где все символы строчные. Символы, не являющиеся буквами,
не изменяются. Если string имеет тип данных CHAR, результат также будет CHAR. Если string —
VARCHAR2, то результат будет VARCHAR2.
LPAD 
Возвращает строку, дополненную слева до длины х символами из строки string2. Если string2 содержит меньше х символов, она дублируется. Если string2 содержит больше х символов, используются только первые х символов string2. Если строка string2 не указана, то по умолчанию применяется одиночный пробел. Отметим, что х определяется в терминах отображаемой, а не реальной длины. Если набор символов базы данных является многобайтовым, то отображаемая длина может быть больше реальной длины строки в байтах. LDAP ведет себя аналогично RDAP за исключением того, что дополняет слева, а не справа.
LTRM    
Возвращает строку string1 с удаленными левыми символами, встречающимися в строке string2. По умолчанию string2 соответствует одиночному пробелу. База данных будет просматривать string1, начиная с самой левой позиции. Дойдя до первого символа, не встречающегося в string2, она вернет результат. LTRIM ведет себя аналогично RTRIM за исключением того, что удаляет символы слева, а не справа.
REPLACE
Возвращает строку, где каждое вхождение символа search_str заменено символом replace_str. Если replace str не указан, то все экземпляры search str удаляются. REPLACE реализует подмножество функциональности, предоставляемой функцией TRANSLATE.
RPAD
Возвращает строку string1 дополненную справа до длины х символами строки string2. Если sthng2 содержит меньше х символов, она дублируется. Если string2 содержит более х символов, применяются только первые х символов. Если string2 не указана, то по умолчанию используется
одиночный пробел. Отметим, что х определяется в терминах отображаемой, а не реальной
длины. Если набор символов базы данных является многобайтовым, отображаемая длина может быть больше реальной длины строки в байтах. RPAD ведет себя аналогично LPAD за исключением того, что добавляет символы справа, а не слева.
RTRlM
Возвращает строку stringl1 с удаленными правыми символами, присутствующими в строке sthng2. По умолчанию string2 является одиночным пробелом. База данных будет просматривать string1, начиная с самой правой позиции. Дойдя до первого символа, не встречающегося ib строке string2, она вернет результат. RTRIM ведет себя аналогично LTRIM за исключением того, что удаляет символы справа, а не слева.
SOUNDEX(string)
Возвращает фонетическое представление строки string (см. ниже).
SUBSTR(string, a[,b])   
Возвращает часть строки string; величины а и b измеряются в символах (см. ниже).
SUBSTRB(string, a[,b]}  
Возвращает часть строки string; величины а и b измеряются в байтах (см. ниже).
SUBSTRC(string, a[,b])   
Возвращает часть строки       величины а и b измеряются в полных символах Unicode (см. ниже).
SUBSTR2(string, a[,b])  
Возвращает часть строки string; величины а и b измеряются в кодовых пунктах UCS2 (см. ниже).

SUBSTR4(string, a[,b])  
Возвращает часть строки string; величины а и b измеряются в кодовых пунктах UCS4 (см. ниже).
TRANSLATE
Возвращает строку string, где вхождение каждого символа из строки fromstr заменяется соответствующим символом из строки tostr. TRANSLATE реализует супермножество функциональности, предоставляемой REPLACE. Если fromstr длиннее tostr, то все символы из fromstr, отсутствующие в fosfr, удаляются из string, так как они не имеют соответствующих символов. Строка fosfr не может быть пустой. Oracle интерпретирует пустую строку как NULL, и если какой-либо аргумент TRANSLATE будет NULL, то результат также будет NULL.
TRIM
Возвращает строку string с удаленными символами начале и/или в конце. Trim должен быть одиночным символом, и по умолчанию используется пробел. Если не указано LEADING, TRAILING или BOTH, экземпляры символа trim_char удаляются с обоих концов строки string.
UPPER(string)        
Возвращает строку, где все символы переведены в верхний регистр. Если строка имеет тип CHAR, возвращаемое значение также будет CHAR. Если строка имеет тип VARCHAR2, возвращаемое значение будет VARCHAR2. Символы, не являющиеся буквами, остаются без изменения в возвращаемом значении.

SUBSTR, SUBSTRB, SUBSTRC, SUBSTR2 и SUBSTR4

SUBSTR
Назначение Возвращает часть строки символов string, начинающуюся с символа с номером а и имеющую длину символов. Если а = 0, это равно­сильно тому, что а= 1 (начало строки). Если положительно, возвращае­мые символы считаются слева направо. Если а отрицательно, символы возвращаются, начиная с конца строки, и считаются справа налево. Если отсутствует, то по умолчанию возвращаются все символы до конца стро­ки. Если меньше 1, возвращается NULL-значение. Если в качестве а или указано число с плавающей точкой, его дробная часть отбрасывается. Возвращаемый тип всегда тот же самый, что и у string.
В разных версиях SUBSTR величины а и имеют различный смысл, как показывает следующая таблица.
Функция        для а и b
SUBSTR        Символы из входного набора символов базы данных
SUBSTRB        Байты
SUBSTRC        Полные символы UNICODE
SUBSTR2        Кодовые пункты USC2
SUBSTR4        Кодовые пункты USC4
Пример
SOUNDEX
Синтаксис
SOUNDEX( string)
Назначение Возвращает фонетическое представление строки string. Это полезно для сравнения слов, правописание которых различно, но произ­ношение одинаково. Фонетическое представление слов определено в книге Дональда Е. Кнута "The Art of Computer Programming, Volume 3: Sorting and Searching". 
 









jAntivirus