Строковые функции SQL. Строковые функции ms sql
Строковые функции
Строковые функции используются для манипулирования значениями данных в столбцах, которые обычно имеют символьный тип данных (табл. 4.7).
Таблица 4.7. Строковые функции
Функция |
Описание |
ASCII (character) |
Преобразует указанный символ в эквивалентный (ASCII) код. Возвращает целое число. Пример: SELECT ASCII('А') = 65 |
CHAR (integer) |
Преобразует ASCII-код в эквивалентный символ. Пример: SELECT CHAR(65) = 'А' |
CHARINDEX(zl, z2) |
Возвращает начальную позицию, в которой строка zl впервые встречается в строке z2. Возвращает 0, если zl не присутствует в z2. Пример: SELECT CHARINDEX ('Ы', 'table') = 3 |
DIFFERENCE[zl, z2) |
Возвращает целое между 0 и 4, которое является разницей между значениями soundex двух строк zl и z2. (soundex возвращает число, которое характеризует звучание строки. При помощи этой функции можно определить строки с похожим звучанием.) Пример: SELECT DIFFERENCE('spelling', 'telling') = 2 Звучание несколько похожее; если же функция возвращает 0, то строки не звучат одинаково |
Таблица 4.7 (продолжение)
Функция |
Описание |
LEFT (z, length) |
Возвращает первые length символов строки z |
LEN(z) |
Возвращает количество символов (но не байтов) в заданном строковом выражении, исключая конечные пробелы |
LOWER(zl) |
Преобразует все прописные буквы строки zl в строчные буквы. Буквы в нижнем регистре, цифры и другие символы не изменяются. Пример: SELECT LOWER('BiG') = 'big' |
LTRIM(z) |
Удаляет начальные пробелы в строке z. Пример: SELECT LTRIM(' String') = 'String' |
NCHAR (i) |
Возвращает символ Unicode, заданный целочисленным кодом, как определено в стандарте Unicode |
QUOTENAME (charstrlng) |
Возвращает строку Unicode, к которой добавлены разделители (кавычки), чтобы сделать строку допустимым идентификатором с разделителями |
PATINDEX (%p%, expr) |
Возвращает начальную позицию первого вхождения шаблона р в заданном выражении ехрг или ноль, если шаблон в строке не найден. Примеры: SELECT PATINDEX('%gs%', 'longstring') = 4; SELECT RIGHT(ContactName, LEN(ContactName) - PATINDEX('% %', ContactName)) AS First name FROM Customers; Второй запрос возвращает все имена из столбца customers |
REPLACE[strl, str2, str3) |
Заменяет все вхождения строки str2 в строке strl на значение str3. Пример: SELECT REPLACE('shave', 's', 'be') = 'behave' |
REPLICATE(z, i) |
Повторяет i раз строку z. Пример: SELECT REPLICATE('a1, 10) = 'aaaaaaaaaa' |
REVERSE(z) |
Отображает строку z в реверсированном, обратном, порядке. Пример: SELECT REVERSE('calculate') = 'etaluclac' |
RIGHT(z, length) |
Возвращает последние length символов строки z. Пример: SELECT RIGHT('Notebook', 4) = 'book' |
RTRIM(z) |
Удаляет конечные пробелы в строке z. Пример: SELECT RTRIMCNotebook ') = 'Notebook' |
Таблица 4.7 (окончание)
Функция |
Описание |
SOUNDEX(а) |
Возвращает четырехсимвольный код soundex, используемый для определения похожести звучания двух строк. Пример: SELECT SOUNDEX('spelling') = S145 |
SPACE {length) |
Возвращает пробельную строку с длиной, заданной параметром length. Пример: SELECT SPACE = ' ' |
STR(f[, len[, d]]) |
Преобразует заданное выражение с плавающей точкой f в строку. Параметр 1еп - длина строки, включая десятичную точку, знак числа, цифры и пробелы (по умолчанию 10), d- количество цифр справа от десятичной точки. Пример: SELECT STR(3.45678, 4, 2) = '3.46' |
STUFF (zl, a, length, z2) |
Заменяет часть строки zl на строку z2, начиная с позиции а, заменяя length символов строки zl. Примеры: SELECT STUFF('Notebook', 5, 0, ' in а ') = 'Note in a book' SELECT STUFF('Notebook', 1, 4, 'Hand') = 'Handbook' |
SUBSTRING (z, a, length) |
Выделяет подстроку строки z, начиная с позиции а, длиной length. Пример: SELECT SUBSTRING('wardrobe1, 1, 4) = 'ward' |
UNICODE(z) |
Возвращает целое значение, как определено стандартом Unicode, для первого символа исходного выражения Z |
UPPER (z) |
Преобразует все строчные буквы строки z в прописные. Прописные буквы и цифры не изменяются. Пример: SELECT UPPER('lower') = 'LOWER' |
⇐Функции даты | Microsoft SQL Server | Системные функции⇒
www.delphiplus.org
Строковые функции SQL | Интернет технологии
Продолжаем серию видеоуроков по изучению языка программирования для управления базами данных, языка запросов SQL. В этом, 9 видеуроке, рассматриваем строковые функции SQL. Для начала вспомним предыдущие уроки:
Что такое cтроковые функции SQL
Строковые функции SQL предназначены для производства определенных действий, а главное, для возвращения отредактированных значений.
Например, у вас в таблице все поля имеют значения из 15 символов. Вам, при редактировании таблицы, нужно, чтобы значения были сокращены и после запроса, вернулись лишь первые 5 символов. Это и можно сделать при помощи строковых функции SQL.
Строковые функции SQL, описания
Функция CONCAT
Строковая функция CONCAT применяется для объединения значений двух полей в один.
Select CONCAT (value, subvalue) ЧТО_ВЫБРАТЬ FROM откуда_выбрать //объединяем столбцы value и survalue, в таблице откуда_выбрать.Функция INITCAP
Строковая функция INITCAP возвращает значение в записи таблицы, где каждое слово начинается с заглавной, буквы, а продолжается строчными буквами.
Применяется для улучшения внешнего вида таблиц и исправления правил заполнения.
Select INITCAP (value) ЧТО_ВЫБРАТЬ FROM откуда_выбратьФункция LOWER
Строковая функция LOWER, возвращает после запроса все слова с маленькой буквы.
Select LOWER (value) ЧТО_ВЫБРАТЬ FROM откуда_выбратьФункция UPPER
Строковая функция UPPER, возвращает после запроса все слова с заглавной буквы.
Select UPPER (value) ЧТО_ВЫБРАТЬ FROM откуда_выбратьФункция LPAD
Строковая функция LPAD предназначена, для дополнения значения символами слева. Используется, для увеличения длинны поля.
Select LPAD (value, 20, '-') as value FROM откуда_выбрать //увеличиваем длину поля до 20 знаков, добавляя к значению тире слева.Функция RPAD
Строковая функция аналогична функции LPAD, только символы дополняются слева значения.
Select RPAD (value, 20, '-') as value FROM откуда_выбрать //увеличиваем длину поля до 20 знаков, добавляя к значению тире справа.Функция LTRIM
Строковая функция LTRIM удаляет указанные символы слева значения.
Функция RTRIM
Строковая функция LTRIM удаляет указанные символы справа.
Функция REPLACE
Строковая функция REPLACE ищет совпадение символов в строке и возвращает после запроса строку с замененными совпадающими символами на указанные вами символы.
Select REPLACE (value, '/', '-' ) FROM откуда_выбрать //меняем символы слеш на тире.Функция TRANSLATE
Строковая функция TRANSLATE меняет все символы в записи, на указанные новые символы.
Функция SUBSTR
Строковая функция SUBSTR возвращает только указанный диапазон символов.
Select SUBSTR (ident, '5', '9') FROM откуда_выбрать //выводим символы с 5 по 9.Функция LENGTH
Строковая функция LENGTH считает количество символов в записи.
Select LENGTH (value) FROM откуда_выбратьЭто все строковые функции SQL, а теперь видеоурок.
9 Видеоурок строковые функции SQL
©webonto.ru
Похожие статьи:
- Функции для работы с числами SQL, урок 11
- Представления SQL, урок 17
- Внешние ключи SQL, урок 13
- Нормальные формы SQL, урок 16
- Подзапросы SQL, урок 15 — вложенные запросы
- 5 Видеоурок, Команда SQL SELECT
- 6 Видео Урок, команды DELETE и UPDATE, удалять и обновлять записи, языка SQL
- Соединения SQL, урок 14 — соединение таблиц в одном запросе
- SQL ALTER TABLE — sql запрос на модификацию таблицы базы данных
- Нужные SQL приемы, SQL, урок 12
- Понятие и назначение SQL запроса
- Урок 3, Установка MySQL
- Что такое база данных — понятие база данных в информатике
- Введение в SQL, видео урок 1
(Просмотров всего: 177)
Поделиться ссылкой:
webonto.ru
Строковые функции SQL MS SQL Server
Этот единственный запрос преобразует эту строку в результат таблицы с столбцами [ItemNumber] и [ItemValue], плюс только возвращает строки, где значение больше нуля. Это работает для вас?
DECLARE @OrderString VARCHAR(MAX) = '1=1;|2=|3=|4=1;|5=|'; WITH Step0 AS ( SELECT String = REPLACE(@OrderString, ';', '') ), Step1 AS ( SELECT Block = SUBSTRING(String, 1, CHARINDEX('|', String) - 1), String = SUBSTRING(String, CHARINDEX('|', String) + 1, LEN(String)) FROM Step0 UNION ALL SELECT Block = SUBSTRING(String, 1, CHARINDEX('|', String) - 1), String = SUBSTRING(String, CHARINDEX('|', String) + 1, LEN(String)) FROM Step1 WHERE LEN(String) > 0 ), Step2 AS ( SELECT ItemNumber = SUBSTRING(Block, 1, CHARINDEX('=', Block) - 1), ItemValue = SUBSTRING(Block, CHARINDEX('=', Block) + 1, LEN(Block)) FROM Step1 ), Step3 AS ( SELECT ItemNumber = CAST(ItemNumber AS INT), ItemValue = CAST(ItemValue AS INT) FROM Step2 WHERE CAST(ItemValue AS INT) > 0 ) SELECT * FROM Step3;https://tangodude.wordpress.com/2014/02/16/t-sql-extracting-serialized-data-from-string-in-one-go/
Если он «передан из XML», вам, вероятно, будет гораздо лучше передавать XML, а не строку. Обработка XML в то, что вы хотите, будет довольно простой.
Вы даже можете сделать что-то уродливое, чтобы вернуть строку в XML:
DECLARE @OrderString VARCHAR(MAX) = '1=1;|2=|3=|4=1;|5=|'; DECLARE @xml XML SELECT @xml = CAST('<order_line><item_id>' +REPLACE(REPLACE(REPLACE(STUFF(@OrderString,LEN(@OrderString),1,''),';',''),'|' ,'</quantity></order_line><order_line><item_id>'),'=','</item_id><quantity>') +'</quantity></order_line>' AS XML)И тогда это действительно просто:
sqlserver.bilee.com
Функция SUBSTRING (SQL Server Compact)
Эта документация перемещена в архив и не поддерживается.
Возвращает часть символьного, двоичного, текстового выражения или выражения с изображением.
SUBSTRING ( expression, start, length ) expressionСимвольная строка, двоичная строка, текст, изображение, столбец или выражение, содержащее столбец. Не используйте выражения с статистическими функциями.
startЦелочисленное значение или выражение, которые можно неявно преобразовать в int, указывающее начало подстроки.
lengthЦелочисленное значение или выражение, которые можно неявно преобразовать в int, указывающее длину подстроки.
Возвращает символьные данные, если выражение expressionотносится к поддерживаемым типам символьных данных. Возвращает двоичные данные, если выражение expressionотносится к поддерживаемым типам двоичных данных. Если start = 1, часть строки начинается с первого знака выражения.
Возвращается строка того же типа, что и заданное выражение, кроме приведенных в следующей таблице исключений.
image | varbinary |
ntext | nvarchar |
В следующем примере показано возвращение начальной буквы имени и полной фамилии для каждого из сотрудников в таблице сотрудников.
SELECT SUBSTRING([First Name],1,1) AS Initial, [Last Name] FROM EmployeesРезультирующий набор выглядит следующим образом:
Initial Last Name ---------------------------- N Davolio A Fuller J Leverling M Peacock S Buchanan M Suyama R King L Callahan A Dodsworth A Hellstern T Smith C Patterson J Brid X Martin L Pereira (15 rows affected)msdn.microsoft.com