Cодержание

Строковые функции Oracle

View more categories:

1- ASCII

Функция  ASCII является функцией в  Oracle PL/SQL возвращает номерной код, который представляет символ. 

Синтаксис:

ASCII( p_character )
Параметры:
p_character
  • Символ передан для получения кода. Если передать больше на один символ, функция ASCII возвращает значение первого символа и пропускает остальные символы.

Смотрите так же таблицу ASCII:

Dec Hex Oct Char Description   Dec Hex Oct Char Description
0 0 0   null 64 40 100 @  
1 1 1   start of heading 65 41 101 A  
2 2 2   start of text 66 42 102 B  
3 3 3   end of text 67 43 103 C  
4 4 4   end of transmission 68 44 104 D  
5 5 5   enquiry 69 45 105 E  
6 6 6   acknowledge 70 46 106 F  
7 7 7   bell 71 47 107 G  
8 8 10   backspace 72 48 110 H  
9 9 11   horizontal tab 73 49 111 I  
10 A 12   new line 74 4A 112 J  
11 B 13   vertical tab 75 4B 113 K  
12 C 14   new page 76 4C 114 L  
13 D 15   carriage return 77 4D 115 M  
14 E 16   shift out 78 4E 116 N  
15 F 17   shift in 79 4F 117 O  
16 10 20   data link escape 80 50 120 P  
17 11 21   device control 1 81 51 121 Q  
18 12 22   device control 2 82 52 122 R  
19 13 23   device control 3 83 53 123 S  
20 14 24   device control 4 84 54 124 T  
21 15 25   negative acknowledge 85 55 125 U  
22 16 26   synchronous idle 86 56 126 V  
23 17 27   end of trans. block 87 57 127 W  
24 18 30   cancel 88 58 130 X  
25 19 31   end of medium 89 59 131 Y  
26 1A 32   substitute 90 5A 132 Z  
27 1B 33   escape 91 5B 133 [  
28 1C 34   file separator 92 5C 134 \  
29 1D 35   group separator 93 5D 135 ]  
30 1E 36   record separator 94 5E 136 ^  
31 1F 37   unit separator 95 5F 137 _  
32 20 40   space 96 60 140 `  
33 21 41 !   97 61 141 a  
34 22 42 "   98 62 142 b  
35 23 43 #   99 63 143 c  
36 24 44 $   100 64 144 d  
37 25 45 %   101 65 145 e  
38 26 46 &   102 66 146 f  
39 27 47 '   103 67 147 g  
40 28 50 (   104 68 150 h  
41 29 51 )   105 69 151 i  
42 2A 52 *   106 6A 152 j  
43 2B 53 +   107 6B 153 k  
44 2C 54 ,   108 6C 154 l  
45 2D 55 -   109 6D 155 m  
46 2E 56 .   110 6E 156 n  
47 2F 57 /   111 6F 157 o  
48 30 60 0   112 70 160 p  
49 31 61 1   113 71 161 q  
50 32 62 2   114 72 162 r  
51 33 63 3   115 73 163 s  
52 34 64 4   116 74 164 t  
53 35 65 5   117 75 165 u  
54 36 66 6   118 76 166 v  
55 37 67 7   119 77 167 w  
56 38 70 8   120 78 170 x  
57 39 71 9   121 79 171 y  
58 3A 72 :   122 7A 172 z  
59 3B 73 ;   123 7B 173 {  
60 3C 74 <   124 7C 174 |  
61 3D 75 =   125 7D 175 }  
62 3E 76 >   126 7E 176 ~  
63 3F 77 ?   127 7F 177 DEL  

2- COALESCE

Функция  COALESCE  возвращает первое ненулевое выражение в списке. Если все выражения в списке оценок являются NULL, то функция  COALESCE возвращает  NULL.
Синтаксис:
COALESCE( p_expression1, p_expression2, ... p_expressionN )
Параметры:
  • p_expression1, p_expression2, .. p_expressionN
  • Выражения чтобы проверить non-null значения.
Пример:
-- --> 'Abc'
Select COALESCE(null, 'Abc', '123') as Column1 from dual;


-- --> 'Aaa'
Select COALESCE('Aaa', null, '345') as Column1 from dual;


-- --> 'Sss'
Select COALESCE(null, null, null, 'Sss') as Column1 from dual;

3- UPPER

Функция  UPPER конвертирует все буквы в  p_string в заглавные буквы
Синтаксис:
UPPER( p_string )
Параметры:
p_string
  • Строка (string) конвертируется в заглавные буквы.
Пример:
-- --> TOM CAT
Select Upper('Tom Cat') From Dual;

-- --> TOM CAT
Select Upper('tom cat') From Dual;

4- LOWER

Функция  LOWER конвертирует все буквы  p_string в письменные буквы.
Синтаксис:
LOWER( p_string )
Параметры:
p_string
  • Строка (string) конвертируется в письменные буквы.
Пример:
-- --> tom cat
Select Lower('Tom Cat') From Dual;

-- --> tom cat
Select Lower('tom cat') From Dual;

5- INITCAP

Функция  INITCAP возвращает строку символов с первой буквой каждого слова, конвертировенной в заглавную букву (Еще называется "title case"). Все другие буквы в строке будут конвертированы в письменные буквы. Слова отделены пробелами (white space) ( spaces, tabs, carriage returns, formfeeds, vertical-tabs, newlines) или символами, которые не являются буквами или числами. 
Синтаксис:
INITCAP(  p_string )
Параметры:
p_string
  • Строка (string) параметров, у которых все первые сиволы слова будут конвертированы в заглавные буквы, а остальные буквы конвертируются в письменные. 
Пример:
-- --> Tom Cat
Select Initcap('TOM CAT') From Dual;

-- --> Tom Cat
Select Initcap('tom cat') From Dual;

6- CHR

Функция  CHR возвращает символ  ASCII соответствующий переданному значению. Если так же определить  NCHAR_CS, то она вернет символы, соответствующие кода определенной страны.
Синтаксис:
CHR( p_number )

CHR( p_number  using nchar_cs)
 
Параметры:
p_number
  • Переданный код для получения соответствующего символа. 
Пример:
-- --> @
Select  chr(64) From dual;

-- --> A
Select  chr(65) From dual;

-- --> â
Select  chr(50082) From dual;

-- --> 쎢
Select  chr(50082  using nchar_cs) From dual;

7- CONCAT(Varchar2, Varchar2)

Функция  CONCAT позволяет вам соединить 2 строки.
Синтаксис:
CONCAT( p_string1, p_string2 )
Параметры:
p_string1
  • первый string используется для соединенияi.
p_string2
  • второй string используется для соединения.
Пример:
-- --> Tom Cat
Select Concat('Tom ', 'Cat') From dual;

8- CONCAT(Clob, Clob)

Функция CONCAT позволяет вам соединить 2 строки вместе.
Синтаксис:
CONCAT( p_string1, p_string2 )
  • CONCAT(CLOB, NCLOB) returns NCLOB
  • CONCAT(NCLOB, NCHAR) returns NCLOB
  • CONCAT(NCLOB, CHAR) returns NCLOB
  • CONCAT(NCHAR, CLOB) returns NCLOB
Параметры:
p_string1
  • первый string для соединения
p_string2
  • второй string для соединения
Пример:
Declare
   C1 Clob := To_Clob('Tom ');
   C2 Clob := To_Clob('Cat');
   C3 Clob;
   C4 Clob;
Begin
   Select Concat(C1
                ,C2)
   Into   C3
   From   Dual;
   ----
   -- --> Tom Cat
   Dbms_Output.Put_Line(C3);
   ----
   C4 := Concat(C1
               ,C2);
   -- --> Tom Cat
   Dbms_Output.Put_Line(C4);
End;

9- INSTR

Функция  INSTR возвращает местонахождение подстроки в строке.
Синтаксис:
INSTR( p_string, p_substring [, p_start_position [,  p_occurrence ] ] )
p_string
  • Найти в строке. p_string может быть CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, или NCLOB.
p_substring
  • Подстрока ищет в p_string. p_substring может быть CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, или NCLOB.
p_start_position
  • Необязательный параметр. Поиск местонахождения в p_string. Если не использовать данный параметр, по умолчанию будет 1. Первое местонахождение в строке это 1. Если p_start_position имеет отрицательное значение, Функция INSTR делает обратный отсчет символов p_start_position с конца строки, и ищет к началу строки.
p_occurrence
  • Необязательный параметр. Считает появление p_occurrence в n-ный раз у p_substring, если не использовать этот параметр, по умолчанию будет 1.
Если не  p_substring не находится в  p_string, функция  INSTR возвращает 0.
Пример:
-- --> 14
Select Instr('Corporate Floor', 'or', 5, 2) as Column1 from dual;


-- --> 5
Select Instr('Corporate Floor', 'or', -10) as Column1 from dual;
Смотрите так же:

10- INSTRB

Функция  INSTRB возвращает местонахождение подстроки в строке, используя  byte вместо символов.
Синтаксис:

INSTRB (p_string , p_substring [, p_start_position [, p_occurrence]])
Функция  INSTRB возвращает местонахождение  p_substring в p_string, используя способ поиска по  byte вместо поиска символами.
Параметры:
p_string
  • Поиск в данной строке.
p_substring
  •  Поиск строки
p_start_position
  • Целое ненулевое число определяющее местонахождение где byte будет искать. Если p_start_position имеет отрицательное значение, то функция INSTRB начнет поиск с конца строки. Значение по умолчанию p_start_position это 1, то есть функция начинает поиск с первого byte в строке.
p_occurrence
  • Целок число определяющее количество раз появления строки, которую должна найти функция. Значение должно быть положительное число. Значение по умолчанию p_occurrence является 1, то есть функция ищет первое появление строки. 
Если  p_substring не находится в  p_string, функция  INSTRB возвращает 0.
-- --> 6
Select Instrb('Tiếng Việt', 'n') from dual;

-- --> 11
Select Instrb('Tiếng Việt', 'ệ' ,5) from dual;
Смотрите так же:

11- LENGTH

Синтаксис:
LENGTH( p_string )
Параметры:
p_string   (CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, or NCLOB)
  • Строка символов, нужно найти длину. Если p_string является NULL или пустой, функция LENGTH возвращает NULL.
Пример:
-- --> 7
Select Length('Tom Cat') As Column1 From Dual;

12- LENGTHB

Функция  LENGTHB возвращает длину строки, используя способ счета  byte вместо символов.
Синтаксис:
LENGTHB( p_string )
Параметры:
p_string   (CHAR, VARCHAR2, NCHAR, NVARCHAR2)
  • строка в которой нужно проверить длину (по bytes).
Пример:
-- Null - Null
Select Lengthb(Null) Column1
      ,Lengthb('') Column2
From   Dual;

-- 7
Select Lengthb('Tom Cat') Column1 From dual;

-- 2
Select Lengthb('Â') As Column1 From Dual;
-- length of characters
-- --> 10
Select Length('Tiếng Việt') from dual;

-- length of bytes
-- --> 14
Select Lengthb('Tiếng Việt') from dual;

13- LPAD

Функция  LPAD добавляет в левую сторону строки набор символов. 
Синтаксис:
LPAD( p_string, p_padded_length [, p_pad_string] )
Параметры:
p_string
  • вставляются дополнительные символы в левой стороне строки.
p_padded_length
  • Длина строки после дополнения. Если p_padded_length меньше начальной длины строки (p_string), функция LPAD обрезает начальную строку, обрезает правую часть, чтобы иметь длину p_padded_length.
p_pad_string
  • Необязательный параметр. Это строка использованная для дополнения левой стороны p_string. Если данный параметр не используется, функция LPAD дополнит пробелы в левую сторону p_string.
Пример:
-- 00123
Select Lpad('123', 5, '0')  From   Dual;

-- 12345
Select Lpad('1234567', 5, '0') From Dual;


-- '       Tom'
Select Lpad('Tom', 10) From   Dual;

-- 'To'
Select Lpad('Tom', 2) From   Dual;

14- LTRIM

Функция  LTRIM убирает пробелы слева (leading spaces) начальной строки. Символ пробела убираются по умолчанию, но вы можете определить какие символы можно убирать. Определенные символы являются буквы ( 'A', 'm',..) или соответствующие  CHR. Например  'CHR(112)', 'CHR(68)'.

Функция  LTRIM возвращает значение вида  VARCHAR2.
Синтаксис:
LTRIM( p_string [, p_trim_string] )
Параметры:
p_string
  • строка убирает символы слева.
p_trim_string
  • Необязательный параметр. Строка которая будет убрана с левой стороны p_string. Если данный параметр не используется, функция LTRIM убирает пробелы с левой стороны p_string.
Пример:
-- --> TOM
Select LTRIM('   TOM') From dual;

-- --> 789
Select LTRIM('000789', '0') From Dual;


-- --> ABC01
Select LTRIM('0101ABC01', '01') From dual;


-- --> 4210ABC
Select LTRIM('34210ABC', '0123') From dual;

15- RTRIM

Функция  RTRIM убирает все пробелы справа (trailing spaces) начальной строки. Символ пробела убирается по умолчанию, но вы можете определить какие символы можно убирать. Символы могут быть определены как буквы ( 'A', 'm',..) или соответствующие  CHR: 'CHR(112)', 'CHR(68)'.

Функция RTRIM возвращает значение вида VARCHAR2.
 
Синтаксис:
RTRIM( p_string [, trim_string ] )
 
Параметры:
p_string
  • строка убирает все символы с правой стороны.
p_trim_string
  • Необязательный параметрт. Строка, которая будет убрана с правой стороны p_string. Если данный параметр не используется, функция RTRIM убирает все пробелы с правой стороны p_string.
Пример:
-- --> TOM
Select RTRIM('TOM   ') From dual;

-- --> 000789
Select RTRIM('00078900', '0') From Dual;


-- --> 0101ABC
Select RTRIM('0101ABC0101', '01') From dual;


-- --> ABC34
Select RTRIM('ABC34210', '0123') From dual;

16- TRIM

Функция  TRIM убирает пробелы с левой стороны (leading spaces) и пробелы с правой стороны (trailing spaces) начальной строки. Пробелы убираются по умолчанию, но вы можете определить как символы могут быть убраны. Определенные символы являются буквы( 'A', 'm',..) или соответствующий  CHR: 'CHR(112)', 'CHR(68)'.

Функция  TRIM возвращает значение вида  VARCHAR2.
 
Синтаксис:
TRIM( [ [ LEADING | TRAILING | BOTH ] p_trim_character FROM ] p_string )
Параметры:
LEADING
  • Функция убирает p_trim_character с левой стороны  p_string.
TRAILING
  •  Функция убирает p_trim_character с конца p_string.
BOTH
  •  Функция убирает p_trim_character с начала и конца p_string.
p_trim_character
  •  Символы будут убраны из p_string. Если параметр не использован, функция TRIM убирает пробелы из p_string.
p_string
  • Строка в которой будут убраны символы.
Примеры:
-- --> TOM
Select TRIM('  TOM   ') From dual;


-- --> 78900
Select TRIM(Leading '0' from '00078900') From Dual;


-- --> 001ABC
Select TRIM(Trailing '0' from '001ABC00') From dual;


-- --> ABC21
Select TRIM(Both '0' from '00ABC21000' ) From dual;

17- SUBSTR

Функция  SUBSTR (Или  SUBSTRING) позволяет вам извлечь часть строки (подстроку) из строки символов. 
Синтаксис:
SUBSTR( p_string, p_start_position [, p_length ] )
Параметры:
p_string
  • исходная строка.
p_start_position
  • Местонахождение извлечения. Первое местонахождение в строке по умолчанию 1.
p_length
  • Необязательный параметр. Это количество извлеченных символов. Если параметр не использован, функция SUBSTR возвращает подстроку из p_start_position до конца строки p_string.
  1. Если p_start_position является 0, функция SUBSTR считает p_start_position как 1 (Первая позиция в p_string).
  2. Если p_start_position отрицательное число, функция SUBSTR начиная с конца p_string, считает обратно символы p_start_position.
  3. Если p_length отрицательное число, функция SUBSTR возвращает значение NULL.
-- 'is is'
Select substr('this is a text message',3,5) Column1 from dual;

-- 'is is a text message'
Select substr('this is a text message',3) Column1 from dual;

-- 'messa'
Select substr('this is a text message',-7,5) Column1 from dual;

-- 'message'
Select substr('this is a text message',-7) Column1 from dual;

-- 'age'
Select substr('this is a text message',-3, 5) Column1 from dual;

-- null
Select substr('this is a text message',-3, -5) Column1 from dual;

18- SUBSTRB

Возвращает подстроку, считая  byte, вместо символов.
Синтаксис:
SUBSTRB( p_string, p_start_position [, p_length ] )
Параметры:
p_string
  • Исходная строка.
p_start_position
  • Позиция извлечения подстроки. По умолчанию 1.
p_length
  • Необязательный параметр. Это количество извлеченных byte. Если параметр не используется, функция SUBSTRB возвращает подстроку начиная с p_start_position до конца p_string.
Пример:
-- ây là
Select Substrb('Đây là Tiếng Việt', 3, 7) from dual;


-- y là Ti
Select Substr('Đây là Tiếng Việt', 3, 7) from dual;

View more categories: