Изучаем sql


SELECT INSERT('goodbye world', 9, 0, 'cruel ') string



Pdf көрінісі
бет118/261
Дата28.07.2022
өлшемі1,6 Mb.
#147825
1   ...   114   115   116   117   118   119   120   121   ...   261
Байланысты:
Изучаем SQL ( PDFDrive )

SELECT INSERT('goodbye world', 9, 0, 'cruel ') string;
++
| string |
++
| goodbye cruel world |
++
1 row in set (0.00 sec)
В этом примере все символы, начиная с девятого, сдвигаются вправо,
и вставляется строка 
'cruel
'
. Если третий аргумент больше нуля, то
замещающая строка замещает указанное количество символов, на
пример:
mysql> 
SELECT INSERT('goodbye world', 1, 7, 'hello') string;
++


134
Глава 7. Создание, преобразование и работа с данными
| string |
++
| hello world |
++
1 row in set (0.00 sec)
В этом примере первые семь символов замещаются строкой 
'hello'
.
В Oracle Database нет единой функции, обладающей гибкостью 
in
sert()
MySQL, но в Oracle есть функция 
replace()
, замещающая одну
подстроку другой. Вот предыдущий пример, переработанный с ис
пользованием 
replace()
:
SELECT REPLACE('goodbye world', 'goodbye', 'hello')
FROM dual;
Все экземпляры строки 
'goodbye'
будут замещены строкой 
'hello'
.
В результате получаем строку 
'hello
world'
. Функция заместит 
все
эк
земпляры искомой строки замещающей строкой – будьте вниматель
ны, чтобы не получить больше замещений, чем задумано.
В SQL Server есть и функция 
replace()
с той же функциональностью, что
и в Oracle, а также функция 
stuff()
(заполнить), функциональные воз
можности которой аналогичны функции 
insert()
MySQL. Вот пример:
SELECT STUFF('hello world', 1, 5, 'goodbye cruel')
Во время выполнения этого запроса удаляются пять символов, начи
ная с первой позиции, и на их место вставляется строка 
'goodbye
cru
el'
. В результате получаем строку 
'goodbye
cruel
world'
.
Кроме вставки символов в строку может понадобиться 
извлечь 
из стро
ки подстроку. Для этого все три сервера включают функцию 
sub
string()
(подстрока) (правда, в Oracle Database эта функция называет
ся 
substr()
). Она извлекает указанное число символов, начиная с за
данной позиции. В следующем примере из строки извлекается пять
символов, начиная с девятой позиции:
mysql> 


Достарыңызбен бөлісу:
1   ...   114   115   116   117   118   119   120   121   ...   261




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет