T-SQL - Строковые функции
Строковые функции MS SQL Server могут применяться к строковому значению или возвращать строковое значение или числовые данные.
Ниже приводится список строковых функций с примерами.
ASCII ()
Значение кода Ascii будет выводиться для символьного выражения.
пример
Следующий запрос даст значение кода Ascii для данного символа.
Select ASCII ('word')
СИМВОЛ ()
Символ будет выводиться для данного кода Ascii или целого числа.
пример
Следующий запрос выдаст символ для данного целого числа.
Select CHAR(97)
NCHAR ()
Символ Unicode будет выводиться для данного целого числа.
пример
Следующий запрос выдаст символ Юникода для данного целого числа.
Select NCHAR(300)
CHARINDEX ()
Начальная позиция для данного выражения поиска будет выводиться в заданном строковом выражении.
пример
Следующий запрос даст начальную позицию символа «G» для данного строкового выражения «KING».
Select CHARINDEX('G', 'KING')
СЛЕВА()
Левая часть данной строки до указанного количества символов будет выводиться для данной строки.
пример
Следующий запрос даст строку «МИР», как указано, 4 числа символа для данной строки «МИР».
Select LEFT('WORLD', 4)
ПРАВИЛЬНО()
Правая часть данной строки до указанного количества символов будет выводиться для данной строки.
пример
Следующий запрос даст строку «DIA», как указано, 3 числа символа для данной строки «INDIA».
Select RIGHT('INDIA', 3)
ПОДСТАВКА ()
Часть строки, основанная на значении начальной позиции и значении длины, будет выводиться для данной строки.
пример
Следующие запросы дадут строки 'WOR', 'DIA', 'ING', как мы уже упоминали (1,3), (3,3) и (2,3) в качестве значений начала и длины соответственно для заданных строк 'WORLD' , «ИНДИЯ» и «КОРОЛЬ».
Select SUBSTRING ('WORLD', 1,3)
Select SUBSTRING ('INDIA', 3,3)
Select SUBSTRING ('KING', 2,3)
LEN ()
Количество символов будет выводиться для данного строкового выражения.
пример
Следующий запрос даст 5 для строкового выражения 'HELLO'.
Select LEN('HELLO')
НИЖНИЙ ()
Строка в нижнем регистре будет выводиться для заданных строковых данных.
пример
Следующий запрос предоставит "sqlserver" для символьных данных "SQLServer".
Select LOWER('SQLServer')
ВЕРХНИЙ ()
Строка в верхнем регистре будет выводиться для заданных строковых данных.
пример
Следующий запрос предоставит «SQLSERVER» для символьных данных «SqlServer».
Select UPPER('SqlServer')
LTRIM ()
Строковое выражение будет выводиться для заданных строковых данных после удаления начальных пробелов.
пример
Следующий запрос даст "МИР" для символьных данных "МИР".
Select LTRIM(' WORLD')
RTRIM ()
Строковое выражение будет выводиться для заданных строковых данных после удаления конечных пробелов.
пример
Следующий запрос даст "ИНДИЯ" для символьных данных "ИНДИЯ".
Select RTRIM('INDIA ')
ЗАМЕНИТЬ ()
Строковое выражение будет выводиться для заданных строковых данных после замены всех вхождений указанного символа указанным символом.
пример
Следующий запрос выдаст строку KNDKA для строковых данных INDIA.
Select REPLACE('INDIA', 'I', 'K')
REPLICATE ()
Повторить строковое выражение будет выводиться для заданных строковых данных заданное количество раз.
пример
Следующий запрос выдаст строку WORLDWORLD для строковых данных WORLD.
Select REPLICATE('WORLD', 2)
ОБЕСПЕЧИТЬ РЕГРЕСС()
Обратное строковое выражение будет выводиться для заданных строковых данных.
пример
Следующий запрос даст строку «DLROW» для строковых данных «МИР».
Select REVERSE('WORLD')
SOUNDEX ()
Возвращает четырехсимвольный (SOUNDEX) код для оценки сходства двух заданных строк.
пример
Следующий запрос даст "S530" для строк "Smith", "Smyth".
Select SOUNDEX('Smith'), SOUNDEX('Smyth')
РАЗНИЦА ()
Целочисленное значение будет выводом данных двух выражений.
пример
Следующий запрос даст 4 для выражений «Смит» и «Смит».
Select Difference('Smith','Smyth')
Note - Если выходное значение равно 0, это указывает на слабое сходство или отсутствие сходства между двумя выражениями.
ПРОСТРАНСТВО()
Строка будет выводиться с указанным количеством пробелов.
пример
Следующий запрос даст ответ «Я ЛЮБЛЮ ИНДИЮ».
Select 'I'+space(1)+'LOVE'+space(1)+'INDIA'
STUFF ()
Строковое выражение будет выводиться для заданных строковых данных после замены начального символа до указанной длины указанным символом.
пример
Следующий запрос выдаст строку AIJKFGH для строковых данных ABCDEFGH в соответствии с заданным начальным символом и длиной 2 и 4 соответственно, а также IJK в качестве указанной целевой строки.
Select STUFF('ABCDEFGH', 2,4,'IJK')
STR ()
Символьные данные будут выводиться для заданных числовых данных.
пример
Следующий запрос даст 187,37 для данного 187,369 на основе указанной длины как 6 и десятичного числа как 2.
Select STR(187.369,6,2)
UNICODE ()
Целочисленное значение будет выводиться для первого символа данного выражения.
пример
Следующий запрос даст 82 для выражения RAMA.
Select UNICODE('RAMA')
QUOTENAME ()
Данная строка будет выводиться с указанным разделителем.
пример
Следующий запрос даст "RAMA" для данной строки 'RAMA', поскольку мы указали двойные кавычки в качестве разделителя.
Select QUOTENAME('RAMA','"')
ПАТИНДЕКС ()
Требуется начальная позиция первого вхождения из данного выражения, поскольку мы указали позицию «I».
пример
Следующий запрос даст 1 для "ИНДИЯ".
Select PATINDEX('I%','INDIA')
ФОРМАТ()
Данное выражение будет выводиться в указанном формате.
пример
Следующий запрос выдаст для функции getdate значение «Monday, 16 ноября 2015» согласно указанному формату, где «D» относится к имени дня недели.
SELECT FORMAT ( getdate(), 'D')
CONCAT ()
Одна строка будет выводиться после объединения заданных значений параметров.
пример
Следующий запрос выдаст «A, B, C» для заданных параметров.
Select CONCAT('A',',','B',',','C')