Страницы

Поиск по вопросам

понедельник, 24 сентября 2018 г.

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

Для работы со строками в 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
    Строковые функции в T-SQL и MS SQL Server

    Комментариев нет:

    Отправить комментарий