Строковые функции 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;
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;
8. CONCAT(Clob, Clob)
- CONCAT(CLOB, NCLOB) returns NCLOB
- CONCAT(NCLOB, NCHAR) returns NCLOB
- CONCAT(NCLOB, CHAR) returns NCLOB
- CONCAT(NCHAR, CLOB) returns NCLOB
Параметры:
p_string1
- первый string для соединения
- второй 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_string. p_substring может быть CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, или NCLOB.
- Необязательный параметр. Поиск местонахождения в p_string. Если не использовать данный параметр, по умолчанию будет 1. Первое местонахождение в строке это 1. Если p_start_position имеет отрицательное значение, Функция INSTR делает обратный отсчет символов p_start_position с конца строки, и ищет к началу строки.
- Необязательный параметр. Считает появление 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
- Поиск в данной строке.
- Поиск строки
- Целое ненулевое число определяющее местонахождение где byte будет искать. Если p_start_position имеет отрицательное значение, то функция INSTRB начнет поиск с конца строки. Значение по умолчанию p_start_position это 1, то есть функция начинает поиск с первого byte в строке.
- Целок число определяющее количество раз появления строки, которую должна найти функция. Значение должно быть положительное число. Значение по умолчанию p_occurrence является 1, то есть функция ищет первое появление строки.
Если p_substring не находится в p_string, функция INSTRB возвращает 0.
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_string), функция LPAD обрезает начальную строку, обрезает правую часть, чтобы иметь длину p_padded_length.
- Необязательный параметр. Это строка использованная для дополнения левой стороны 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 возвращает значение вида VARCHAR2.
Синтаксис:
LTRIM( p_string [, p_trim_string] )
Параметры:
p_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 возвращает значение вида VARCHAR2.
Синтаксис:
RTRIM( p_string [, trim_string ] )
Параметры:
p_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 возвращает значение вида VARCHAR2.
Синтаксис:
TRIM( [ [ LEADING | TRAILING | BOTH ] p_trim_character FROM ] p_string )
Параметры:
LEADING
- Функция убирает p_trim_character с левой стороны p_string.
- Функция убирает p_trim_character с конца p_string.
- Функция убирает p_trim_character с начала и конца p_string.
- Символы будут убраны из p_string. Если параметр не использован, функция TRIM убирает пробелы из 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
No ADS
Функция SUBSTR (Или SUBSTRING) позволяет вам извлечь часть строки (подстроку) из строки символов.
Синтаксис:
SUBSTR( p_string, p_start_position [, p_length ] )
Параметры:
p_string
- исходная строка.
- Местонахождение извлечения. Первое местонахождение в строке по умолчанию 1.
- Необязательный параметр. Это количество извлеченных символов. Если параметр не использован, функция SUBSTR возвращает подстроку из p_start_position до конца строки p_string.
Если p_start_position является 0, функция SUBSTR считает p_start_position как 1 (Первая позиция в p_string).Если p_start_position отрицательное число, функция SUBSTR начиная с конца p_string, считает обратно символы p_start_position.Если 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
- Исходная строка.
- Позиция извлечения подстроки. По умолчанию 1.
- Необязательный параметр. Это количество извлеченных 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;
No ADS
Руководства База данных Oracle
- Установите PL/SQL Developer в Windows
- Пример базы данных Oracle для обучения SQL
- Установите Oracle Database 11g в Windows
- Установите Oracle Database 12c в Windows
- Установить Oracle Client в Windows
- Создать Oracle SCOTT Schema
- Пример базы данных
- Структура базы данных и облачные функции в Oracle 12c
- Импорт и экспорт базы данных Oracle
- Строковые функции Oracle
- Разделить строку запятой и передать в пункт IN команды Select в Oracle
- Иерархические запросы в Oracle
- Руководство Oracle Database Link и Synonym
- Руководство Oracle PL/SQL
- XML-парсер для Oracle PL/SQL
- Стандартный аудит базы данных в Oracle
- Создание и управление Oracle Wallet
Show More