betacode

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

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;
Maybe you are interested

Это онлайн курс вне вебсайта o7planning, который мы представляем, он включает бесплатные курсы или курсы со скидкой.