Для работы со строками в T-SQL можно применять следующие функции:
- LEN: возвращает количество символов в строке. В качестве параметра в функцию передается строка, для которой надо найти длину:1
SELECT
LEN(
'Apple'
)
-- 5
LTRIM: удаляет начальные пробелы из строки. В качестве параметра принимает строку:
1
| SELECT LTRIM( ' Apple' ) |
RTRIM: удаляет конечные пробелы из строки. В качестве параметра принимает строку:
1
| SELECT RTRIM( ' Apple ' ) |
CHARINDEX: возвращает индекс, по которому находится первое вхождение подстроки в строке. В качестве первого параметра передается подстрока, а в качестве второго - строка, в которой надо вести поиск:
1
| SELECT CHARINDEX( 'pl' , 'Apple' ) -- 3 |
PATINDEX: возвращает индекс, по которому находится первое вхождение определенного шаблона в строке:
1
| SELECT PATINDEX( '%p_e%' , 'Apple' ) -- 3 |
LEFT: вырезает с начала строки определенное количество символов. Первый параметр функции - строка, а второй - количество символов, которые надо вырезать сначала строки:
1
| SELECT LEFT ( 'Apple' , 3) -- App |
RIGHT: вырезает с конца строки определенное количество символов. Первый параметр функции - строка, а второй - количество символов, которые надо вырезать сначала строки:
1
| SELECT RIGHT ( 'Apple' , 3) -- ple |
SUBSTRING: вырезает из строки подстроку определенной длиной, начиная с определенного индекса. Певый параметр функции - строка, второй - начальный индекс для вырезки, и третий параметр - количество вырезаемых символов:
1
| SELECT SUBSTRING ( 'Galaxy S8 Plus' , 8, 2) -- S8 |
REPLACE: заменяет одну подстроку другой в рамках строки. Первый параметр функции - строка, второй - подстрока, которую надо заменить, а третий - подстрока, на которую надо заменить:
1
| SELECT REPLACE ( 'Galaxy S8 Plus' , 'S8 Plus' , 'Note 8' ) -- Galaxy Note 8 |
REVERSE: переворачивает строку наоборот:
1
| SELECT REVERSE( '123456789' ) -- 987654321 |
CONCAT: объединяет две строки в одну. В качестве параметра принимает от 2-х и более строк, которые надо соединить:
1
| SELECT CONCAT( 'Tom' , ' ' , 'Smith' ) -- Tom Smith |
LOWER: переводит строку в нижний регистр:
1
| SELECT LOWER ( 'Apple' ) -- apple |
UPPER: переводит строку в верхний регистр
1
| SELECT UPPER ( 'Apple' ) -- APPLE |
SPACE: возвращает строку, которая содержит определенное количество пробелов
Например, возьмем таблицу:
1
2
3
4
5
6
7
8
| CREATE TABLE Products ( Id INT IDENTITY PRIMARY KEY , ProductName NVARCHAR(30) NOT NULL , Manufacturer NVARCHAR(20) NOT NULL , ProductCount INT DEFAULT 0, Price MONEY NOT NULL ); |
И при извлечении данных применим строковые функции:
1
2
3
4
| SELECT UPPER ( LEFT (Manufacturer,2)) AS Abbreviation, CONCAT(ProductName, ' - ' , Manufacturer) AS FullProdName FROM Products ORDER BY Abbreviation |
Комментариев нет:
Отправить комментарий