betacode

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

  1. ASCII
  2. COALESCE
  3. UPPER
  4. LOWER
  5. INITCAP
  6. CHR
  7. CONCAT(Varchar2, Varchar2)
  8. CONCAT(Clob, Clob)
  9. INSTR
  10. INSTRB
  11. LENGTH
  12. LENGTHB
  13. LPAD
  14. LTRIM
  15. RTRIM
  16. TRIM
  17. SUBSTR
  18. SUBSTRB

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

No ADS
Функция SUBSTR (Или SUBSTRING) позволяет вам извлечь часть строки (подстроку) из строки символов.
Синтаксис:
SUBSTR( p_string, p_start_position [, p_length ] )
Параметры:
p_string
  • исходная строка.
p_start_position
  • Местонахождение извлечения. Первое местонахождение в строке по умолчанию 1.
p_length
  • Необязательный параметр. Это количество извлеченных символов. Если параметр не использован, функция 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
  • Исходная строка.
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;
No ADS