MyTetra Share
Делитесь знаниями!
Функции для работы со строками
Время создания: 04.05.2019 22:07
Раздел: !Закладки - SQL Server
Запись: xintrea/mytetra_db_adgaver_new/master/base/1556996865aku01dfk02/text.html на raw.githubusercontent.com

Функции для работы со строками

Последнее обновление: 29.07.2017

Для работы со строками в 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

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования