SQL Урок 11. Работа со строками

SQL   3 апреля 2012  Автор статьи:  

В рамках данной статьи мы рассмотрим функции для работы со строками:
ASCII — возвращает ASCII код левой буквы. Ее можно использовать для того, чтобы вывести количество различных символов с которых начинаются имена студентов.

SELECT COUNT(DISTINCT ASCII(Name)) FROM Student

CHAR — обратная к ASCII функция, возвращает символ по его номеру. Поэтому с помощью нее можно вывести эти различные буквы:

SELECT DISTINCT CHAR(ASCII(Name)) FROM Student

LEFT — позволяет вернуть n первых символов. Так что приведенную ниже задачу можно было решить так:

SELECT LEFT(Name, 1) FROM Student

RIGHT — позволяет вернуть n последних символов. Является парной к LEFT.

RIGHT( строка, n)

CHARINDEX — позволяет выполнить поиск подстроки в строке. Возвращает позицию первого вхождения.

CHARINDEX( подстрока, строка, [индекс])

Необязательный параметр индекс обозначает с какой позиции необходимо вести поиск подстроки.
PAINTINDEX — возвращает тоже, что и CHARINDEX, но позволяет использовать в качестве подстроки шаблон.

PAINTINDEX( шаблон , строка)

Выведем всех студентов, имя у которых начинается на ‘A’. Напомним что в шаблоне разрешается использование специальных символов ‘_'(любой символ), ‘%’ (последовательность символов). Шаблон должен быть обернут %.

SELECT * FROM Student WHERE PAINTINDEX( '%A%%' , Name) > 0

LEN — возвращает число символов в строке.

LEN(строка)

SUBSTRING — возвращает подстроку, которая начинается с начальной_позиции.

SUBSTRING(строка, начальная_позиция, длина_подстроки)

REVERSE — переворачивает строку.

REVERSE(строка)

REPLACE — заменяет все вхождения подстроки_1 в строке на подстроку_2.

REPLACE(строка, подстрока_1, подстрока_2)

STUFF — заменяет n символов в строке на подстроку начиная с начальной_позиции.

STUFF(строка, начальная_позиция, n, подстрока)

LTRIM — возвращает строку без лидирующих пробелов.
RTRIM — возвращает строку без конечных пробелов.

LTRIM(строка)
RTRIM(строка)

LOWER — опускает все символы строки в нижний регистр.
UPPER — опускает все символы строки в нижний регистр.

LOWER(строка)
UPPER(строка)

UNICODE — возвращает код первого символа в строке.
NCHAR — возвращает символ по коду.

UNICODE(строка)
NCHAR(код)

  • sss

    не PAINTINDEX, а PATINDEX

Научиться программировать

  • на Delphi

  • на Java

  • на C++