Sql функции текстовые: Строковые функции (Transact-SQL) — SQL Server

Содержание

T-SQL — Строковые функции — CoderLessons.com

Строковые функции MS SQL Server могут применяться к строковому значению или возвращать строковое значение или числовые данные.

Ниже приведен список функций String с примерами.

ASCII ()

Значение кода Ascii будет выводиться для символьного выражения.

пример

Следующий запрос даст значение кода Ascii для данного символа.

Select ASCII ('word') 

СИМВОЛ ()

Символ будет выводиться для заданного кода или целого числа Ascii.

пример

Следующий запрос даст символ для данного целого числа.

Select CHAR(97)

NCHAR ()

Символ Unicode будет выводиться для данного целого числа.

пример

Следующий запрос даст символ Unicode для данного целого числа.

Select NCHAR(300)

CHARINDEX ()

Начальная позиция для заданного поискового выражения будет отображаться в заданном строковом выражении.

пример

Следующий запрос даст начальную позицию символа «G» для данного строкового выражения «KING».

Select CHARINDEX('G', 'KING')

ОСТАВИЛ()

Левая часть данной строки, пока указанное количество символов не будет выводиться для данной строки.

пример

Следующий запрос выдаст строку «WORL», как указано 4 числа символов для данной строки «WORLD».

Select LEFT('WORLD', 4)

ПРАВО()

Правая часть данной строки до тех пор, пока указанное количество символов не будет выводиться для данной строки.

пример

Следующий запрос выдаст строку ‘DIA’ как упомянутое количество символов для данной строки ‘INDIA’.

Select RIGHT('INDIA', 3)

SUBSTRING ()

Часть строки, основанная на значении начальной позиции и значении длины, будет выводиться для данной строки.

пример

Следующие запросы будут давать строки «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   ') 

REPLACE ()

Строковое выражение придет в качестве вывода для данных строковых данных после замены всех вхождений указанного символа указанным символом.

пример

Следующий запрос выдаст строку ‘KNDKA’ для данных строки ‘INDIA’.

Select REPLACE('INDIA', 'I', 'K')

REPLICATE ()

Повторное строковое выражение придет в качестве вывода для заданных строковых данных с указанным числом раз.

пример

Следующий запрос даст строку «WORLDWORLD» для данных строки «WORLD».

Select REPLICATE('WORLD', 2)

ЗАДНИЙ ХОД()

Обратное строковое выражение придет как выход для заданных строковых данных.

пример

Следующий запрос выдаст строку ‘DLROW’ для данных строки ‘WORLD’.

Select REVERSE('WORLD')

SOUNDEX ()

Возвращает четырехсимвольный код (SOUNDEX) для оценки сходства двух заданных строк.

пример

Следующий запрос даст ‘S530’ для строк ‘Smith’, ‘Smyth’.

Select SOUNDEX('Smith'), SOUNDEX('Smyth')

РАЗНИЦА ()

Целочисленное значение будет получено как результат заданных двух выражений.

пример

Следующий запрос даст 4 для выражений «Смит», «Смит».

Select Difference('Smith','Smyth') 

Примечание. Если выходное значение равно 0, это указывает на слабое или полное отсутствие сходства между двумя выражениями.

ПРОСТРАНСТВО()

Строка будет выводиться с указанным количеством пробелов.

пример

Следующий запрос даст «Я люблю Индию».

Select 'I'+space(1)+'LOVE'+space(1)+'INDIA'

ВЕЩЕСТВО ()

Строковое выражение придет в качестве вывода для данных строковых данных после замены начального символа до указанной длины указанным символом.

пример

Следующий запрос выдаст строку ‘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','"') 

PATINDEX ()

Требуется начальная позиция первого вхождения из данного выражения, поскольку мы указали позицию «I».

пример

Следующий запрос даст 1 для «ИНДИИ».

Select PATINDEX('I%','INDIA') 

ФОРМАТ()

Данное выражение будет выводиться в указанном формате.

пример

Следующий запрос даст «понедельник, 16 ноября 2015 г.» для функции getdate в соответствии с указанным форматом, где «D» обозначает название дня недели.

SELECT FORMAT ( getdate(), 'D') 

CONCAT ()

Одна строка будет выводиться после объединения указанных значений параметров.

пример

Следующий запрос даст «A, B, C» для заданных параметров.

Символьные / строчные функции Oracle PL/SQL — Oracle PL/SQL •MySQL •MariaDB •SQL Server •SQLite

Функция & Описание
ASCII
Функция Oracle/PLSQL ASCII возвращает числовое представление крайнего левого символа строки.
ASCIISTR
Функция Oracle/PLSQL ASCIISTR преобразует строку любого набора символов к ASCII строке, используя набор символов базы данных.
CHR
Функция Oracle/PLSQL CHR является противоположностью функции ASCII. CHR возвращает символ, который основан на числовом коде.
COMPOSE
Функция Oracle/PLSQL COMPOSE возвращает строку Unicode.
CONCAT
Функция Oracle/PLSQL CONCAT позволяет соединить вместе две строки.
ОПЕРАТОР КОНКАТЕНАЦИИ ||
Oracle/PLSQL оператор конкатенации || позволяет объединить две или более строк вместе.
DUMP
Функция Oracle/PLSQL DUMP возвращает значение varchar2, который включает код типа данных, длину в байтах, и внутреннее представление выражения.
INITCAP
Функция Oracle/PLSQL INITCAP устанавливает первый символ каждого слова в верхний регистр, а остальные в нижний регистр.
INSTR
Oracle/PLSQL функция INSTR возвращает n-е вхождение подстроки в строке.
INSTR2
Функция Oracle/PLSQL INSTR2 возвращает вхождение подстроки в строку, используя UCS2 кодовые точки.
INSTR4
Функция Oracle/PLSQL INSTR4 возвращает вхождение подстроки в строку, используя UCS4 кодовые точки.
INSTRB
Функция Oracle/PLSQL INSTRB возвращает вхождение подстроки в строку, байты вместо символов.
INSTRC
Функция Oracle/PLSQL INSTRC возвращает вхождение подстроки в строку, используя Unicode полные символов.
LENGTH
Функция Oracle/PLSQL LENGTH возвращает длину указанной строки.
LENGTh3
Функция Oracle/PLSQL LENGTh3 возвращает длину указанной строки, используя UCS2 кодовые точки.
LENGTh5
Функция В этом учебном пособии вы узнаете, LENGTh5 возвращает длину указанной строки, используя UCS4 кодовые точки.
LENGTHB
Функция Oracle/PLSQL LENGTHB возвращает длину указанной строки, используя байты вместо символов.
LENGTHC
Функция Oracle/PLSQL LENGTHC возвращает длину указанной строки, используя полные символы Unicode.
LOWER
Функция Oracle/PLSQL LOWER преобразует все символы в заданной строке в нижний регистр. Если есть символы в строке, которые не являются буквами, они не влияют на эту функцию.
LPAD
Функция Oracle/PLSQL LPAD добавляет с левой части строки определенный набор символов (при не нулевом string1).
LTRIM
Функция Oracle/PLSQL LTRIM удаляет все указанные символы с левой стороны строки.
NCHR
Функция Oracle/PLSQL NCHR возвращает символ на основе number_code в национальной кодировке.
REGEXP_INSTR
Функция Oracle/PLSQL REGEXP_INSTR является расширением функции INSTR. Она возвращает местоположение шаблона регулярного выражения в строке. Эта функция, представленная в Oracle 10g, позволит вам найти подстроку в строке, используя сопоставление шаблонов регулярных выражений.
REGEXP_LIKE
Oracle условие REGEXP_LIKE позволяет выполнять регулярные выражения в предложении WHERE в запросах SELECT, INSERT, UPDATE или DELETE.
REGEXP_REPLACE
Функция Oracle/PLSQL REGEXP_REPLACE является расширением функции REPLACE. Эта функция, введенная в Oracle 10g, позволит вам заменить последовательность символов в строке другим набором символов, используя сопоставление шаблонов регулярных выражений.
REGEXP_SUBSTR
Функция Oracle/PLSQL REGEXP_SUBSTR является расширением функции SUBSTR. Эта функция, представленная в Oracle 10g, позволит вам извлечь подстроку из строки, используя сопоставление шаблонов регулярных выражений.
REPLACE
Функция Oracle/PLSQL REPLACE заменяет последовательность символов в строке другим набором символов.
RPAD
Функция Oracle/PLSQL RPAD дополняет с правой части строки определенный набор символов (при не нулевом string1).
RTRIM
Функция Oracle/PLSQL RTRIM удаляет все указанные символы из правой части строки.
SOUNDEX
Функция Oracle/PLSQL SOUNDEX возвращает фонетическое представление (так, как это звучит) строки.
SUBSTR
Функция Oracle/PLSQL SUBSTR позволяет извлекать подстроку из строки.
TO_CHAR
Функция Oracle/PLSQL TO_CHAR преобразует число или дату в строку.
TRANSLATE
Функция Oracle/PLSQL TRANSLATE заменяет последовательность символов в строке другим набором символов. Тем не менее, она заменяет один символ за один раз.

Например, заменится первый символ в string_to_replace с первого символа в replacement_string. Тогда будет заменен второй символ в string_to_replace с вторым символом в replacement_string, и так далее.

TRIM
Функция Oracle / PLSQL TRIM удаляет все указанные символы с начала или окончания строки.
UPPER
Функция Oracle/PLSQL UPPER преобразует все символы строки в верхний регистр. Если есть символы в строке, которые не являются буквами, они не влияют на эту функцию.
VSIZE
Функция Oracle/PLSQL VSIZE возвращает длину в байтах для внутреннего представления выражения.

Строковые функции

Строковые функции используются для манипулирования значениями данных в столбцах, которые обычно имеют символьный тип данных (табл. 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 | Системные функции⇒

Справочник SQL для выражений запросов, применяемых в ArcGIS—ArcGIS Pro

This topic describes the elements of common selection queries in ArcGIS. Выражения запросов в ArcGIS используют SQL.

Внимание:

Синтаксис SQL не работает при вычислении полей с помощью окна Калькулятора поля .

Часто используемые запросы: поиск строк

Строковые значения в выражениях всегда заключаются в одинарные кавычки, например:

STATE_NAME = 'California'

Строки в выражениях чувствительны к регистру, кроме случаев работы в базах геоданных в Microsoft SQL Server. Чтобы выполнять не чувствительный к регистру поиск в других источниках данных, можно использовать функцию SQL для преобразования всех значений в один регистр. Для источников данных на основе файлов, таких как файловые базы геоданных или шейп-файлы, для задания регистра выборки можно использовать функции UPPER или LOWER. Например, при помощи следующего выражения выбирается штат, имя которого написано как ‘Rhode Island’ или ‘RHODE ISLAND’:

UPPER(STATE_NAME) = 'RHODE ISLAND'

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

NAME = 'Alfie''s Trough'

При помощи оператора LIKE (вместо оператора = ) строится поиск частей строк. Например, данное выражение выбирает Mississippi и Missouri среди названий штатов США:

STATE_NAME LIKE 'Miss%'

Символ процента (%) означает, что на этом месте может быть что угодно – один символ или сотня, или ни одного. Если вы хотите использовать групповой символ, обозначающий один любой символ, используйте символ подчёркивания (_). Следующий пример показывает выражение для выбора имен Catherine Smith и Katherine Smith:

OWNER_NAME LIKE '_atherine Smith'

Можно также использовать операторы больше (>), меньше (<), больше или равно (>=), меньше или равно (<=), не равно (<>) и BETWEEN, чтобы выбирать строковые значения на основании их сортировки. Например, этот запрос выбирает все города в покрытии, названия которых начинаются с букв от М до Z:

CITY_NAME >= 'M'

Строковые функции могут использоваться для форматирования строк. Например функция LEFT возвращает определенное количество символов начиная с левого края строки. Данный запрос возвращает все штаты, начинающиеся на букву A:

LEFT(STATE_NAME,1) = 'A'

Список поддерживаемых функций вы найдете в документации по своей СУБД.

Часто используемые выражения: поиск значений NULL

Вы можете использовать ключевое слово NULL, чтобы отбирать объекты и записи, содержащие пустые поля. Перед ключевым словом NULL всегда стоит IS или IS NOT. Например, чтобы найти города, для которых не была введена численность населения по данным переписи 1996 года, можно использовать следующее выражение:

POPULATION IS NULL

Или, чтобы найти все города, для которых указана численность населения, используйте:

POPULATION96 IS NOT NULL

Часто используемые выражения: поиск чисел

Точка (.) всегда используется в качестве десятичного разделителя, независимо от региональных настроек. В выражениях в качестве разделителя десятичных знаков нельзя использовать запятую.

Вы можете запрашивать цифровые значения, используя операторы равно (=), не равно (<>), больше (>), меньше (<), больше или равно (>=) и меньше или равно (<=), а также BETWEEN (между), например:

POPULATION >= 5000

Числовые функции можно использовать для форматирования чисел. Например функция ROUND округляет до заданного количества десятичных знаков данные в файловой базе геоданных:

ROUND(SQKM,0) = 500

Список поддерживаемых числовых функций см. в документации по СУБД.

Даты и время

Общие правила и часто используемые выражения

В таких источниках данных, как база геоданных, даты хранятся в полях даты–времени. Однако в шейп-файлах это не тек. Поэтому большинство из примеров синтаксиса запроса, представленных ниже, содержит ссылки на время. В некоторых случаях часть запроса, касающаяся времени, может быть без всякого вреда пропущена, когда известно, что поле содержит только даты; в других случаях её необходимо указывать, или запрос вернет синтаксическую ошибку.

Поиск полей с датой требует внимания к синтаксису, необходимому для источника данных. Если вы создаете запрос в Конструкторе запросов в режиме Условие, правильный синтаксис будет сгенерирован автоматически. Ниже приведен пример запроса, который возвращает все записи после 1 января 2011, включительно, из файловой базы геоданных:

INCIDENT_DATE >= date '2011-01-01 00:00:00'

Даты хранятся в исходной базе данных относительно 30 декабря 1899 года, 00:00:00. Это действительно для всех источников данных, перечисленных здесь.

Цель этого подраздела – помочь вам в построении запросов по датам, но не по значениям времени. Когда со значением даты хранится не нулевое значение (например January 12, 1999, 04:00:00), то запрос по дате не возвратит данную запись, поскольку если вы задаете в запросе только дату для поля в формате дата – время, недостающие поля времени заполняются нулями, и выбраны будут только записи, время которых соответствует 12:00:00 полуночи.

Таблица атрибутов отображает дату и время в удобном для пользователя формате, согласно вашим региональным установкам, а не в формате исходной базы данных. Это подходит для большинства случаев, но имеются и некоторые недостатки:

  • Строка, отображаемая в SQL-запросе, может иметь только небольшое сходство со значением, показанным в таблице, особенно когда в нее входит время. Например время, введенное как 00:00:15, отображается в атрибутивной таблице как 12:00:15 AM с региональными настройками США, а сопоставимый синтаксис запроса Datefield = ‘1899-12-30 00:00:15’.
  • Атрибутивная таблица не имеет сведений об исходных данных, пока вы не сохраните изменения. Она сначала попытается отформатировать значения в соответствии с ее собственным форматом, затем, после сохранения изменений, она попытается подогнать получившиеся результаты в соответствии с базой данных. По этой причине, вы можете вводить время в шейп-файл, но обнаружите, что оно удаляется при сохранении ваших изменений. Поле будет содержать значение ‘1899-12-30’, которое будет отображаться как 12:00:00 AM или эквивалентно, в зависимости от ваших региональных настроек.

Синтаксис даты-времени для многопользовательских баз геоданных

Oracle
Datefield = date 'yyyy-mm-dd'

Имейте в виду, что здесь записи, где время не равно нулю, не будут возвращены.

Альтернативный формат при запросах к датам в Oracle следующий:

Datefield = TO_DATE('yyyy-mm-dd hh:mm:ss','YYYY-MM-DD Hh34:MI:SS')

Второй параметр ‘YYYY-MM-DD Hh34:MI:SS’ описывает используемый при запросах формат. Актуальный запрос выглядит так:

Datefield = TO_DATE('2003-01-08 14:35:00','YYYY-MM-DD Hh34:MI:SS')

Вы можете использовать более короткую версию:

TO_DATE('2003-11-18','YYYY-MM-DD')

И снова записи, где время не равно нулю, не будут возвращены.

SQL Server
Datefield = 'yyyy-mm-dd hh:mm:ss'

Часть запроса hh:mm:ss может быть опущена, когда в записях не установлено время.

Ниже приведен альтернативный формат:

Datefield = 'mm/dd/yyyy'
IBM Db2
Datefield = TO_DATE('yyyy-mm-dd hh:mm:ss','YYYY-MM-DD Hh34:MI:SS')

Часть запроса hh:mm:ss не может быть опущена, даже если время равно 00:00:00.

PostgreSQL
Datefield = TIMESTAMP 'YYYY-MM-DD Hh34:MI:SS'
Datefield = TIMESTAMP 'YYYY-MM-DD'

Вы должны указать полностью временную метку при использовании запросов типа «равно», в или не будет возвращено никаких записей. Вы можете успешно делать запросы со следующими выражениями, если запрашиваемая таблица содержит записи дат с точными временными метками (2007-05-29 00:00:00 или 2007-05-29 12:14:25):

select * from table where date = '2007-05-29 00:00:00';

или

select * from table where date = '2007-05-29 12:14:25';

При использовании других операторов, таких как больше, меньше, больше или равно, или меньше или равно, вам не нужно указывать время, но это можно сделать для повышения точности. Оба эти выражения работают:

select * from table where date < '2007-05-29';
select * from table where date < '2007-05-29 12:14:25';
Файловые базы геоданных, шейп-файлы, покрытия и прочие файловые источники данных
Datefield = date 'yyyy-mm-dd'

Файловые базы геоданных поддерживают использование времени в поле даты, поэтому его можно добавить в выражение:

Datefield = date 'yyyy-mm-dd hh:mm:ss'

Шейп-файлы и покрытия не поддерживают использование времени в поле даты.

SQL, используемый в файловой базе геоданных, базируется на стандарте SQL-92.

Известные ограничения

Построение запросов к датам, находящимся в левой части (первой таблице) соединения, работает только для файловых источников данных, таких как файловые базы геоданных, шейп-файлы и таблицы DBF. Но возможен обходной путь при работе с другими, не файловыми, источниками, такими как многопользовательские данные, как описано ниже.

Запрос к датам левой части соединения будет выполнен успешно, если использовать ограниченную версию SQL, разработанную для файловых источников данных. Если вы не используете такой источник данных, можете перевести выражение для использования этого формата. Нужно обеспечить, чтобы выражение запроса включало поля из более чем одной присоединенной таблицы. Например, если соединены класс пространственных объектов и таблица (FC1 и Table1), и они поступают из многопользовательской базы геоданных, следующее выражение не будет выполнено или не вернет данные:

FC1.date = date #01/12/2001#
FC1.date = date '01/12/2001'

Чтобы запрос был выполнен успешно, можно создать вот такой запрос:

FC1.date = date '01/12/2001' and Table1.OBJECTID > 0

Так как запрос включает поля из обеих таблиц, будет использована ограниченная версия SQL. В этом выражении Table1.OBJECTID всегда > 0 для записей, которые сопоставлены в процессе создания соединения, поэтому это выражение всегда верно для всех строк, содержащих сопоставления соединения.

Чтобы быть уверенным, что каждая запись с FC1.date = date ’01/12/2001′ выбрана, используйте следующий запрос:

FC1.date = date '01/12/2001' and (Table1.OBJECTID IS NOT NULL OR Table1.OBJECTID IS NULL)

Такой запрос будет выбирать все записи с FC1.date = date ’01/12/2001′, независимо от того, есть ли сопоставление при соединении для каждой отдельной записи.

Комбинированные выражения

Составные запросы могут комбинироваться путем соединения выражений операторами AND (И) и OR (ИЛИ). Вот пример запроса для выборки всех домов с общей площадью более 1500 квадратных футов и гаражом более чем на три машины:

AREA > 1500 AND GARAGE > 3

Когда вы используете оператор OR (ИЛИ), по крайней мере одно из двух разделенных оператором выражений, должно быть верно для выбираемой записи, например:

RAINFALL < 20 OR SLOPE > 35

Используйте оператор NOT (НЕ) в начале выражения, чтобы найти объекты или записи, не соответствующие условию выражения, например:

NOT STATE_NAME = 'Colorado'

Оператор NOT можно комбинировать с AND и OR. Вот пример запроса, который выбирает все штаты Новой Англии за исключением штата Maine:

SUB_REGION = 'New England' AND NOT STATE_NAME = 'Maine'

Вычисления

Вычисления можно включить в запросы с помощью математических операторов +, –, * и /. Можно использовать вычисление между полем и числом, например:

AREA >= PERIMETER * 100

Вычисления также могут производиться между полями. Например чтобы найти районы с плотностью населения меньшим или равным 25 человек на 1 квадратную милю, можно использовать вот такой запрос:

POP1990 / AREA <= 25

Приоритет выражения в скобках

Выражения выполняются в последовательности, определяемой стандартными правилами. Например, заключённая в круглые скобки часть выражения выполняется раньше, чем часть выражения за скобками.

HOUSEHOLDS > MALES * (POP90_SQMI + AREA)

Вы можете добавить скобки в режиме Редактирование SQL вручную, или использовать команды Группировать и Разгруппировать в режиме Условие, чтобы добавить или удалить их.

Подзапросы

Подзапрос – это запрос, вложенный в другой запрос и поддерживаемый только в базах геоданных. Подзапросы могут использоваться в SQL-выражении для применения предикативных или агрегирующих функций, или для сравнения данных со значениями, хранящимися в другой таблице и т.п. Это может быть сделано с помощью ключевых слов IN или ANY. Например этот запрос выбирает только те страны, которых нет в таблице indep_countries:

COUNTRY_NAME NOT IN (SELECT COUNTRY_NAME FROM indep_countries)

Покрытия, шейп-файлы и прочие файловые источники данных, не относящиеся к базам геоданных, не поддерживают подзапросы. Подзапросы, выполняемые на версионных многопользовательских классах объектов и таблицах, не возвращают объекты, которые хранятся в дельта-таблицах. Файловые базы геоданных имеют ограниченную поддержку подзапросов, описанных в данном разделе, в то время, как многопользовательские базы геоданных поддерживают их полностью. Информацию обо всех возможностях подзапросов к многопользовательским базам геоданных смотрите в документации по своей СУБД.

Этот запрос возвращает объекты, где GDP2006 больше, чем GDP2005 любых объектов, содержащихся в countries (странах):

GDP2006 > (SELECT MAX(GDP2005) FROM countries)

Поддержка подзапросов в файловых базах геоданных ограничена следующим:

Операторы

Ниже приведен полный список операторов, поддерживаемых файловыми базами геоданных, шейп-файлами, покрытиями и прочими файловыми источниками данных. Они также поддерживаются в многопользовательских базах геоданных, хотя для этих источников данных может требоваться иной синтаксис. Кроме нижеперечисленных операторов, многопользовательские базы геоданных поддерживают дополнительные возможности. Более подробную информацию см. в документации по своей СУБД.

Арифметические операторы

Для сложения, вычитания, умножения и деления числовых значений можно использовать арифметические операторы.

ОператорОписание

*

Арифметический оператор умножения

/

Арифметический оператор деления

+

Арифметический оператор сложения

Арифметический оператор вычитания

Арифметические операторы

Операторы сравнения

Операторы сравнения используются для сравнения одного выражения с другим.

ОператорОписание

<

Меньше . Может использоваться со строками (сравнение основывается на алфавитном порядке) и для числовых вычислений, а также дат.

<=

Меньше или равно. Может использоваться со строками (сравнение основывается на алфавитном порядке) и для числовых вычислений, а также дат.

<>

Не равно . Может использоваться со строками (сравнение основывается на алфавитном порядке) и для числовых вычислений, а также дат.

>

Больше . Может использоваться со строками (сравнение основывается на алфавитном порядке) и для числовых вычислений, а также дат.

>=

Больше или равно. Может использоваться со строками (сравнение основывается на алфавитном порядке) и для числовых вычислений, а также дат.

[NOT] BETWEEN x AND y

Выбирает запись, если она имеет значение, которое больше или равно x и меньше или равно y. Если перед ней стоит значение NOT, она выбирает запись, если та имеет значение вне указанного диапазона. Например это выражение выбирает все записи со значениями, которые больше или равны 1 и меньше или равны 10:

OBJECTID BETWEEN 1 AND 10

Вот эквивалент этого выражения:

OBJECTID >= 1 AND OBJECTID <= 10

Однако, выражение с оператором BETWEEN обрабатывается быстрее, если у вас поле проиндексировано.

[NOT] EXISTS

Возвращает TRUE (истинно), если подзапрос возвращает хотя бы одну запись; в противном случае возвращает FALSE (ложно). Например, данное выражение вернет TRUE, если поле OJBECTID содержит значение 50:

EXISTS (SELECT * FROM parcels WHERE OBJECTID = 50)

EXISTS поддерживается только в файловых и многопользовательских базах геоданных.

[NOT] IN

Выбирает запись, если она содержит одну из нескольких строк или значений в поле. Если впереди стоит NOT, выбирает запись, где нет таких строк или значений. Например, это выражение будет искать четыре разных названия штатов:

STATE_NAME IN ('Alabama', 'Alaska', 'California', 'Florida')

IS [NOT] NULL

Выбирает запись, если там в определенном поле есть нулевое значение. Если перед NULL стоит NOT, выбирает запись, где в определенном поле есть какое-то значение.

x [NOT] LIKE y [ESCAPE ‘escape-character’]

Используйте оператор LIKE (вместо оператора = ) с групповыми символами, если хотите построить запрос по части строки. Символ процента (%) означает, что на этом месте может быть что угодно – один символ или сотня, или ни одного. Если вы хотите использовать групповой символ, обозначающий один любой символ, используйте символ подчёркивания (_). Если вам нужен доступ к несимвольным данным, используйте функцию CAST. Например, этот запрос возвращает числа, начинающиеся на 8, из целочисленного поля SCORE_INT:

CAST (SCORE_INT AS VARCHAR(10)) LIKE '8%'

Для включения символа (%) или (_) в вашу строку поиска, используйте ключевое слово ESCAPE для указания другого символа вместо escape, который в свою очередь обозначает настоящий знак процента или подчёркивания. Например данное выражение возвращает все строки, содержащие 10%, такие как 10% DISCOUNT или A10%:

AMOUNT LIKE '%10$%%' ESCAPE '$'
Операторы сравнения

Логические операторы

ОператорОписание

AND

Соединяет два условия и выбирает запись, в которой оба условия являются истинными. Например, выполнение следующего запроса выберет все дома с площадью более 1 500 квадратных футов и гаражом на две и более машины:

AREA > 1500 AND GARAGE > 2

OR

Соединяет два условия и выбирает запись, где истинно хотя бы одно условие. Например выполнение следующего запроса выберет все дома с площадью более 1,500 квадратных футов или гаражом на две и более машины:

AREA > 1500 OR GARAGE > 2

NOT

Выбирает записи, не соответствующие указанному выражению. Например это выражение выберет все штаты, кроме Калифорнии (California):

NOT STATE_NAME = 'California'
Логические операторы

Операторы строковой операции

Оператор Описание
||

Возвращает символьную строку, являющуюся результатом конкатенации двух или более строковых выражений.

FIRST_NAME || MIDDLE_NAME || LAST_NAME

Функции

Ниже приведен полный список функций, поддерживаемых файловыми базами геоданных, шейп-файлами, покрытиями и прочими файловыми источниками данных. Функции также поддерживаются в многопользовательских базах геоданных, хотя в этих источниках данных может использоваться иной синтаксис или имена функций. Кроме нижеперечисленных функций, многопользовательские базы геоданных поддерживают дополнительные возможности. Более подробную информацию см. в документации по своей СУБД.

Функции дат

ФункцияОписание

CURRENT_DATE

Возвращает текущую дату.

EXTRACT(extract_field FROM extract_source)

Возвращает фрагмент extract_field из extract_source. Аргумент extract_source является выражением даты–времени. Аргументом extract_field может быть одно из следующих ключевых слов: YEAR, MONTH, DAY, HOUR, MINUTE или SECOND.

CURRENT TIME

Возвращает текущую дату.

Функции дат

Строковые функции

Аргументы, обозначаемые string_exp, могут быть названием столбца, строковой константой или результатом другой скалярной функции, где исходные данные могут быть представлены в виде символов.

Аргументы, обозначаемые character_exp, являются строками символов переменной длины.

Аргументы, указанные как start или length могут быть числовыми постоянными или результатами других скалярных функций, где исходные данные представлены числовым типом.

Строковые функции, перечисленные здесь, базируются на 1; то есть, первым символом в строке является символ 1.

ФункцияОписание

CHAR_LENGTH(string_exp)

Возвращает длину строкового выражения в символах.

LOWER(string_exp)

Возвращает строку, идентичную string_exp, в которой все символы верхнего регистра изменены на символы нижнего регистра.

POSITION(character_exp IN character_exp)

Возвращает место первого символьного выражения во втором символьном выражении. Результат – число с точностью, определяемой реализацией и коэффициентом кратности 0.

SUBSTRING(string_exp FROM start FOR length)

Возвращает символьную строку, извлекаемую из string_exp, начинающуюся с символа, положение которого определяется символами start и length .

TRIM(BOTH | LEADING | TRAILING trim_character FROM string_exp)

Возвращает string_exp, укороченную на количество символов, указанное в аргументе trim_character, с начала, с конца или с обоих концов строки.

UPPER(string_exp)

Возвращает строку, идентичную string_exp, в которой все символы нижнего регистра изменены на символы верхнего регистра.

Строковые функции

Числовые функции

Все числовые функции возвращают числовые значения.

Аргументы, обозначенные numeric_exp, float_exp или integer_exp могут быть именем столбца, результатом другой скалярной функции или числовой константой, где исходные данные могут быть представлены числовым типом.

ФункцияОписание

ABS(numeric_exp)

Возвращает абсолютное значение numeric_exp.

ACOS(float_exp)

Возвращает угол в радианах, равный арккосинусу float_exp.

ASIN(float_exp)

Возвращает угол в радианах, равный арксинусу float_exp.

ATAN(float_exp)

Возвращает угол в радианах, равный арктангенсу float_exp.

CEILING(numeric_exp)

Возвращает наименьшее целочисленное значение, большее или равное numeric_exp.

COS(float_exp)

Возвращает косинус float_exp, где float_exp — угол, выраженный в радианах.

FLOOR(numeric_exp)

Возвращает наибольшее целое значение, меньшее или равное numeric_exp.

LOG(float_exp)

Возвращает натуральный логарифм float_exp.

LOG10(float_exp)

Возвращает логарифм по основанию 10 float_exp.

MOD(integer_exp1, integer_exp2)

Возвращает результат деления integer_exp1 на integer_exp2.

POWER(numeric_exp, integer_exp)

Возвращает значение numeric_exp в степени integer_exp.

ROUND(numeric_exp, integer_exp)

Возвращает numeric_exp, округленное до integer_exp знаков справа от десятичной точки. Если integer_exp отрицательное, numeric_exp округляется до |integer_exp| знаков слева от десятичной запятой.

SIGN(numeric_exp)

Возвращает указатель знака numeric_exp. Если numeric_exp меньше нуля, возвращается -1. Если numeric_exp равно нулю, возвращается 0. Если numeric_exp больше нуля, возвращается 1.

SIN(float_exp)

Возвращает синус float_exp, где float_exp — угол, выраженный в радианах.

TAN(float_exp)

Возвращает тангенс float_exp, где float_exp — угол, выраженный в радианах.

TRUNCATE(numeric_exp, integer_exp)

Возвращает numeric_exp, округленное до integer_exp знаков справа от десятичной точки. Если integer_exp отрицательное, numeric_exp округляется до |integer_exp| знаков слева от десятичной запятой.

Числовые функции

Функция CAST

Функция CAST конвертирует значение в определенный тип данных. Синтаксис выглядит так:

CAST(exp AS data_type [(length)])

Пример:

CAST (SCORE_INT AS VARCHAR(10))

Аргумент exp может быть названием столбца, результатом другой скалярной функции или буквенным. Data_type может быть любым из следующих ключевых слов, и задается строчными или заглавными буквами: CHAR, VARCHAR, INTEGER, SMALLINT, REAL, DOUBLE, DATE, TIME, DATETIME, NUMERIC или DECIMAL.

Более подробно о функции CAST см. CAST and CONVERT.

Связанные разделы

Отзыв по этому разделу?

Sql server строковые функции

Содержание

  • 1 Функции для работы со строками
  • 2 ASCII(строка)
  • 3 BIT_LENGTH(str)
  • 4 CHAR(N,… [USING charset_name])
  • 5 CHAR_LENGTH(str)
  • 6 CHARACTER_LENGTH(str)
  • 7 CONCAT (str1, str2, …)
  • 8 CONCAT_WS(separator,str1,str2,…)
  • 9 CONV(N, N from_base, to_base)
  • 10 ELT(N, str1, str2, str3, …)
  • 11 EXPORT_SET(bits,on,off[,separator[,number_of_bits]])
  • 12 FIELD(str,str1,str2,str3,…)
  • 13 FIND_IN_SET(str, strlist)
  • 14 FORMAT(X,D)
  • 15 HEX(N_OR_S)
  • 16 INSERT(str,pos,len,newstr)
  • 17 INSTR(str,substr)
  • 18 LCASE(str)
  • 19 LEFT(str,len)
  • 20 LENGTH(str)
  • 21 LOAD_FILE(file_name)
  • 22 LOCATE(substr,str), LOCATE(substr,str,pos)
  • 23 LOWER(str)
  • 24 LPAD(str,len,padstr)
  • 25 LTRIM(str)
  • 26 MAKE_SET(bits,str1,str2,…)
  • 27 MID(str,pos,len)
  • 28 OCTET_LENGTH(str)
  • 29 ORD(str)
  • 30 POSITION(substr IN str)
  • 31 QUOTE(str)
  • 32 expr REGEXP pattern
  • 33 REPEAT(str,count)
  • 34 REPLACE (str, from_str, to_str)
  • 35 REVERSE(str)
  • 36 RIGHT(str,len)
  • 37 RPAD(str,len,padstr)
  • 38 RTRIM(str)
  • 39 SOUNDEX(str)
  • 40 expr1 SOUNDS LIKE expr2
  • 41 SPACE(N)
  • 42 STRCMP (str1, str2)
  • 43 SUBSTRING(str,pos)
  • 44 SUBSTRING(str FROM pos)
  • 45 SUBSTRING(str,pos,len)
  • 46 SUBSTRING(str FROM pos FOR len)
  • 47 SUBSTRING_INDEX(str,delim,count)
  • 48 TRIM([ [remstr] FROM] str)
  • 49 TRIM([remstr FROM] str)
  • 50 UCASE(str)
  • 51 UNHEX(str)
  • 52 UPPER(str)

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

Для работы со строками в T-SQL можно применять следующие функции:

LEN : возвращает количество символов в строке. В качестве параметра в функцию передается строка, для которой надо найти длину:

LTRIM : удаляет начальные пробелы из строки. В качестве параметра принимает строку:

RTRIM : удаляет конечные пробелы из строки. В качестве параметра принимает строку:

CHARINDEX : возвращает индекс, по которому находится первое вхождение подстроки в строке. В качестве первого параметра передается подстрока, а в качестве второго – строка, в которой надо вести поиск:

PATINDEX : возвращает индекс, по которому находится первое вхождение определенного шаблона в строке:

LEFT : вырезает с начала строки определенное количество символов. Первый параметр функции – строка, а второй – количество символов, которые надо вырезать сначала строки:

RIGHT : вырезает с конца строки определенное количество символов. Первый параметр функции – строка, а второй – количество символов, которые надо вырезать сначала строки:

SUBSTRING : вырезает из строки подстроку определенной длиной, начиная с определенного индекса. Певый параметр функции – строка, второй – начальный индекс для вырезки, и третий параметр – количество вырезаемых символов:

REPLACE : заменяет одну подстроку другой в рамках строки. Первый параметр функции – строка, второй – подстрока, которую надо заменить, а третий – подстрока, на которую надо заменить:

REVERSE : переворачивает строку наоборот:

CONCAT : объединяет две строки в одну. В качестве параметра принимает от 2-х и более строк, которые надо соединить:

LOWER : переводит строку в нижний регистр:

UPPER : переводит строку в верхний регистр

SPACE : возвращает строку, которая содержит определенное количество пробелов

Например, возьмем таблицу:

И при извлечении данных применим строковые функции:

No.Описание функции
1ASCII() Возвращает числовое значение левого символа
2BIN() Возвращает строковое представление аргумента
3BIT_LENGTH() Возвращает длину аргумента в битах
4CHAR_LENGTH() Возвращает количество символов в аргументе
5CHAR() Возвращает символ для каждого целого числа
6CHARACTER_LENGTH() Синоним char_length()
7CONCAT_WS() Возвращает объединение с сепаратором
8CONCAT() Возвращает объединение строк
9CONV() Преобразование числа между различными системами счисления
10ELT() Возвращает строку под номером индекса
11EXPORT_SET() Возвращает строку таким образом, что для каждого бита, установленного в значении бит, вы получаете строку и для каждого отключенного бита, вы не получите строку
12FIELD() Возвращает индекс (позиция) первого аргумента в последующих аргументах
13FIND_IN_SET() Возвращает индекс позиции первого аргумента во втором аргументе
14FORMAT() Возвращает номер, отформатированный для указанного количества знаков после запятой
15HEX() Возвращает строковое представление шестнадцатеричного
16INSERT() Вставляет подстроку в указанной позиции до указанного числа символов
17INSTR() Возвращает индекс первого вхождения подстроки
18LCASE() Синоним LOWER()
19LEFT() Возвращает крайний левый ряд символов, как указано
20LENGTH() Возвращает длину строки в байтах
21LOAD_FILE() Загружает файл с именем
22LOCATE() Возвращает позицию первого вхождения подстроки
23LOWER() Возвращает аргумент в нижнем регистре
24LPAD() Возвращает строковый аргумент cлева с указанной строкой
25LTrim() Удаляет начальные пробелы
26MAKE_SET() Возвращает набор строк разделенных запятыми, которые имеют соответствующий бит
27MID() Возвращает подстроку, начиная с заданной позиции
28OCT() Возвращает строковое представление восьмеричного аргумента
29OCTET_LENGTH() Синоним LENGTH()
30ORD() Если крайний левый символ аргумента многобайтный символ, возвращает код для этого символа
31POSITION() Синоним LOCATE()
32QUOTE() Игнорирует аргумент для использования в операторе SQL
33REGEXP Поиск по шаблону с использованием регулярных выражений
34REPEAT() Повторяет строку указанное количество раз
35REPLACE() Заменяет вхождения указанной строки
36REVERSE() Меняет символы в строке
37RIGHT() Возвращает указанный крайний правый ряд символов
38Rpd() Добавляет строку в заданное число раз
39RTRIM() Удаляет конечные пробелы
40SOUNDEX() Возвращает строку SOUNDEX
41SOUNDS LIKE Сравнивает звуки
42SPACE() Возвращает строку из указанного количества пробелов
43STRCMP() Сравнивает две строки
44SUBSTRING_INDEX() Возвращает подстроку из строки до заданного числа появлений разделителя
45SUBSTRING() , SUBSTR() Возвращает указанную подстроку
46TRIM() Удаляет начальные и конечные пробелы
47UCASE() Синоним UPPER()
48Unheks() Преобразует каждую пару шестнадцатеричных цифр в символы
49UPPER() Преобразует строку в верхний регистр

ASCII(строка)

Возвращает числовое значение первого символа строки. Возвращает 0, если строка пустая строка. Возвращает NULL, если строка является NULL. ASCII() работает для символов с числовыми значениями от 0 до 255.

Возвращает строковое представление двоичного значения N, где N представляет собой длинное целое (BIGINT) число. Это эквивалентно CONV (N, 10,2). Возвращает NULL, если N является NULL.

BIT_LENGTH(str)

Возвращает длину строки str в битах.

CHAR(N,… [USING charset_name])

CHAR() интерпретирует каждый аргумент N как целое число и возвращает строку, состоящую из символов, заданных кодовых значениями этих чисел. NULL значения пропускаются.

CHAR_LENGTH(str)

Возвращает длину строки str, измеренной в символах. Многобайтные символы считаются как один символ. Это означает, что для строки, содержащей пять символов два байта, LENGTH() возвращает 10, в то время как char_length() возвращает 5.

CHARACTER_LENGTH(str)

CHARACTER_LENGTH() является синонимом char_length() .

CONCAT (str1, str2, …)

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

CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() означает объединить с сепаратором и особую форму CONCAT(). Первый аргумент является разделителем для остальных аргументов. Разделитель добавляется между строками, которые объединяются. Сепаратор может быть строкой, как и остальные аргументы. Если разделитель равен NULL, то результат будет NULL.

CONV(N, N from_base, to_base)

Преобразование числа между различными системами счисления. Возвращает строковое представление числа N, преобразованное из базового from_base в to_base. Возвращает NULL, если любой параметр NULL. Аргумент N интерпретируется как целое, но может быть указан в виде целого числа или строки. Минимальная база 2, а максимальная база 36. Если to_base отрицательное число, N рассматривается как число со знаком. В противном случае, N трактуется как беззнаковое. CONV() работает с 64-битной точностью.

ELT(N, str1, str2, str3, …)

Возвращает str1, если N = 1, str2, если N = 2, и так далее. Возвращает NULL, если N меньше 1 или больше, чем число аргументов. ELT() является дополнением FIELD().

EXPORT_SET(bits,on,off[,separator[,number_of_bits]])

Возвращает строку, что для каждого бита, установленного в значении бит, вы получаете на строку и для каждого бита не установлен в значении, вы не получите строку. Биты в битах рассматриваются справа налево (от низкого до бита высокого порядка). Строки добавляются к результату слева направо, отделены друг от друга разделительной полосой (по умолчанию является символ запятой. ). Число битов задается NUMBER_OF_BITS (по умолчанию 64).

FIELD(str,str1,str2,str3,…)

Возвращает индекс (положение, начиная с 1) str в str1, str2, str3, … список. Возвращает 0, если строка не найдена.

FIND_IN_SET(str, strlist)

Возвращает значение в диапазоне от 1 до N, если строка str находится в списке строки strlist, состоящем из N подстрок.

FORMAT(X,D)

Формат числа X, как «#, ###, ###. ##» с округлением до D знаков после запятой, и возвращает результат в виде строки. Если D равно 0, результат не имеет десятичной точки или дробной части.

HEX(N_OR_S)

Если N_OR_S это число, возвращает строковое представление шестнадцатеричного значения N, где N представляет собой длинное целое (BIGINT) число. Это эквивалентно CONV (N, 10,16).

Если N_OR_S является строкой, то возвращает шестнадцатеричное строковое представление N_OR_S, где каждый символ в N_OR_S преобразуется в две шестнадцатеричных цифры.

INSERT(str,pos,len,newstr)

Возвращает строку str с подстрокой, начиная с позиции pos и кол-во символов len заменяется строкой newstr. Возвращает исходную строку, если позиция не находится в пределах длины строки. Заменяет остальную часть строки от позиции, если len не находится в пределах длины остальной части строки. Возвращает NULL, если любой параметр NULL.

INSTR(str,substr)

Возвращает позицию первого вхождения подстроки substr в строке str. Это так же, как два-аргумента формы LOCATE(), за исключением того, что порядок аргументов обратный.

LCASE(str)

LCASE() является синонимом LOWER() .

LEFT(str,len)

Возвращает крайние левые len символов из строки str, или NULL, если какой-либо аргумент NULL.

LENGTH(str)

Возвращает длину строки str, измеренную в байтах. Многобайтное количество символов в нескольких байт. Это означает, что для строки, содержащей пять символов два байта, LENGTH() возвращает 10, в то время как char_length() возвращает 5.

LOAD_FILE(file_name)

Читает файл и возвращает содержимое файла в виде строки. Чтобы использовать эту функцию, файл должен быть расположен на хосте сервера, необходимо указать полный путь к файлу, и вы должны иметь привилегию FILE. Файл должен быть доступен для чтения всем и его размер меньше, чем max_allowed_packet байт.

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

По состоянию SQL 5.0.19, интерпретации переменных управления системой character_set_filesystem имен файлов, которые даны в виде текстовых строк.

LOCATE(substr,str), LOCATE(substr,str,pos)

Первый синтаксис возвращает позицию первого вхождения подстроки substr в строке str. Второй синтаксис возвращает позицию первого вхождения подстроки substr в строке str, начиная с позицией pos. Возвращает 0, если substr не в str.

LOWER(str)

Возвращает строку str, все символы переведены в нижний регистр в соответствии с текущим набором символов.

LPAD(str,len,padstr)

Возвращает строку str, слева дополняется строкой padstr до длины len символов. Если строка длиннее, чем длина, возвращаемое значение сокращаются до длины символов.

LTRIM(str)

Возвращает строку str, с удаленными пробелами.

MAKE_SET(bits,str1,str2,…)

Возвращает заданное значение (строку, содержащую подстроки, разделенные символом . ), состоящее из строк, имеющих соответствующий бит в наборе. str1 соответствует биту 0, str2 биту 1, и так далее. NULL значения в str1, str2, … не добавляется к результату.

MID(str,pos,len)

MID(str,pos,len) является синонимом SUBSTRING(str,pos,len).

Возвращает строковое представление восьмеричного значения N, где N представляет собой длинное целое (BIGINT) число. Это эквивалентно CONV (N, 10,8). Возвращает NULL, если N является NULL.

OCTET_LENGTH(str)

OCTET_LENGTH() является синонимом LENGTH() .

ORD(str)

Если крайний левый символ строки str многобайтный символ, то возвращает код для этого символа, вычисленного из числовых значений составляющих его байт, используя эту формулу:

Если крайний левый символ не является многобайтным символом а, Ord() возвращает то же значение, что и функция ASCII() .

POSITION(substr IN str)

POSITION(substr IN str) является синонимом LOCATE(substr,str).

QUOTE(str)

Котировки строки для получения результата, который может быть использован как правильно отображения значение данных в операторе SQL. Возвращается строка заключена в одинарные кавычки, и с каждым экземпляром одинарные кавычки ( «), обратной косой черты (» ‘), ASCII NUL и Control-Z предшествует обратный слэш. Если аргумент NULL, то возвращаемое значение слово «NULL» без ограждающих одиночных кавычек.

Примечание – Пожалуйста , проверьте , если ваша установка имеет какую – либо ошибку с этой функцией не используйте эту функцию.

expr REGEXP pattern

Эта функция выполняет соответствовать образцу выражение в отношении pattern. Возвращает 1, Если выражение соответствует pattern; в противном случае возвращает 0. Если какое-либо выражение или pattern имеет значение NULL, результатом будет NULL. Регулярное выражение не чувствительно к регистру, за исключением, когда используется с двоичными строками.

Давайте посмотрим еще один пример:

REPEAT(str,count)

Возвращает строку, состоящую из строки str неоднократное число раз. Если счетчик меньше 1, возвращает пустую строку. Возвращает NULL, если строка или количество является NULL.

REPLACE (str, from_str, to_str)

Возвращает строку str, в которой все вхождения строки from_str заменены строкой to_str. REPLACE() выполняет совпадение с учетом регистра при поиске from_str.

REVERSE(str)

Возвращает строку str с обратными порядком символов.

RIGHT(str,len)

Возвращает крайние правые символы len из строки str, или NULL, если какой-либо аргумент NULL.

RPAD(str,len,padstr)

Возвращает строку str, справа проложенный со строкой padstr до длины len символов. Если строка длиннее, чем длина, возвращаемое значение сокращаются до длины символов.

RTRIM(str)

Возвращает строку str, пробелы будут удалены.

SOUNDEX(str)

Возвращает строку из SOUNDEX str. Две строки, которые звучат почти так же, должны иметь идентичные строки SOUNDEX. Стандартная строка SOUNDEX длиной четыре символа, но функция SOUNDEX() возвращает произвольно длинную строку. Вы можете использовать SUBSTRING() на результате, чтобы получить стандартную строку SOUNDEX. Все не-алфавитные символы str игнорируются. Все международные алфавитные символы вне диапазона AZ обрабатываются как гласные.

expr1 SOUNDS LIKE expr2

Это то же самое, как SOUNDEX (Expr1) = SOUNDEX (expr2).

SPACE(N)

Возвращает строку, состоящую из символов пробела N.

STRCMP (str1, str2)

Сравнивает две строки и возвращает 0, если обе строки равны, и возвращается -1, если первый аргумент меньше второго согласно текущему порядку сортировки в противном случае она возвращает 1.

Давайте посмотрим еще один пример:

SUBSTRING(str,pos)

SUBSTRING(str FROM pos)

SUBSTRING(str,pos,len)

SUBSTRING(str FROM pos FOR len)

Формы без аргумента len возвращает подстроку из строки str, начиная с позиции pos. Формы с аргументом len возвращают подстроку len символов из строки str, начиная с позиции pos. Формы, которые используют FROM являются стандартным синтаксисом SQL. Кроме того, можно использовать отрицательное значение для pos. В этом случае, начало подстроки len символов от конца строки, а не c началf. Отрицательное значение может быть использовано для pos в любом из форм этой функции.

SUBSTRING_INDEX(str,delim,count)

Возвращает подстроку из строки str до количества вхождений разделителя DELIM. Если счетчик является положительным, все слева от последнего разделителя (считая слева) возвращаются. Если счетчик имеет отрицательное значение, все что справа от последнего разделителя (считая справа) возвращаются. SUBSTRING_INDEX() выполняет совпадение с учетом регистра при поиске DELIM.

TRIM([ [remstr] FROM] str)

TRIM([remstr FROM] str)

Возвращает строку str со все remstr префиксы или суффиксы удалены. Если ни один из спецификаторов BOTH, LEADING или TRAILING не заданы, предполагается, BOTH. remstr является необязательным и, если не указано, пробелы удаляются.

UCASE(str)

UCASE() является синонимом UPPER().

UNHEX(str)

Выполняет обратную операцию HEX(str). То есть, он интерпретирует каждую пару шестнадцатеричных цифр в аргументе как число и преобразует его в символ, представленный номер. Полученные символы возвращаются в виде бинарной строки.

Символы в строке аргумента должны быть шестнадцатеричные цифры: ‘0’ .. ‘9’, ‘A’ .. ‘F’, ‘а’ .. ‘е’. Если UNHEX() встречает любые не шестнадцатеричные цифры в аргументе, она возвращает NULL.

UPPER(str)

Возвращает строку, все символы переведены в верхний регистр в соответствии с текущим набором символов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

Следующие скалярные функции выполняют операции над входным строковым значением и возвращают строковое или числовое значение: The following scalar functions perform an operation on a string input value and return a string or numeric value:

Все встроенные строковые функции, кроме FORMAT , являются детерминированными. All built-in string functions except FORMAT are deterministic. Это значит, что они каждый раз возвращают одинаковое значение для одинакового набора входных параметров. This means they return the same value any time they are called with a specific set of input values. Дополнительные сведения о детерминированности функций см. в статье Детерминированные и недетерминированные функции. For more information about function determinism, see Deterministic and Nondeterministic Functions.

При передаче в строковые функции аргументов, которые не являются строковыми значениями, входной тип неявно преобразуется в текстовый тип данных. When string functions are passed arguments that are not string values, the input type is implicitly converted to a text data type. Дополнительные сведения см. в статье Преобразование типов данных (ядро СУБД). For more information, see Data Type Conversion (Database Engine).

SQL текстовая функция для специальных символов

У меня есть поле с текстовыми отзывами в нем, и я хочу определить, где люди использовали специальные символы, чтобы получить оскорбительные слова и т. д. мимо фильтров, поэтому вместо того, чтобы вводить badword , они вводят b.a.d.w.o.r.d или b*a*d*w*o*r*d ,

Есть ли способ найти, скажем, 3 или более специальных символов в word в текстовом обзоре, может быть, какую-то функцию count для специальных символов?

sql

text

count

oracle-sqldeveloper

Поделиться

Источник


Gavin    

22 августа 2017 в 10:06

1 ответ


  • Подсчет специальных символов в SQL

    Ищу запрос SQL, который возвращает количество всех специальных символов, используемых в определенном столбце. Предположим, что в столбце есть 5 строк, и каждая из них использует два специальных символа. Я ищу какой-то запрос, который дает 10 в результате. Я пытался получить строки специальных…

  • Следует ли избегать специальных символов для имен таблиц в SQL Server?

    Я хочу создать базу данных SQL Server, которая будет содержать тысячи таблиц, имена которых будут отражать названия биржевых тикеров.&*()_+=\{}[]:”;’<,>./? Если какой-либо из этих…

    код sql или функция для удаления всех специальных символов из определенного столбца таблицы

    код sql или функция для удаления всех специальных символов из определенного столбца таблицы. :a oracle код для удаления всех специальных символов из столбца .for пример ABC D.E.F так что это должно…

    SQL Server синтаксический анализ строк для специальных символов

    Мне нужно решение (функция / процедура t-sql) для разбора SQL Server varchar (max) и устранения всех специальных символов и акцентов Вывод этой строки будет преобразован в файл CSV с помощью скрипта…

    Подсчет специальных символов в SQL

    Ищу запрос SQL, который возвращает количество всех специальных символов, используемых в определенном столбце. Предположим, что в столбце есть 5 строк, и каждая из них использует два специальных…

    Следует ли избегать специальных символов для имен таблиц в SQL Server?

    Я хочу создать базу данных SQL Server, которая будет содержать тысячи таблиц, имена которых будут отражать названия биржевых тикеров. Например, 0099-OL.HK — это название тикера компании. Во многих…

    Экранирование специальных символов в SQL

    Есть ли простой способ в Oracle избежать специальных символов в операторе SQL? (т. е.%, &, ‘) я видел эту ссылку в отношении ручного экранирования символов, но я подумал, что Oracle, возможно,…

    Удаление специальных символов и цифр в поле таблицы sql

    У меня есть таблица в sql server 2008, где столбец содержит поле со строкой и специальными символами, такими как abc;#34; pqr. Теперь мне нужна функция для удаления специальных символов и цифр из…

    PL / SQL преобразование специальных символов

    Я создаю простой файл XML 1.0 с помощью короткой функции PL / SQL, заполненной данными из таблицы. Данные из таблицы также содержат HTML символов, таких как <>, & и так далее. Для этих…

    Каковы плюсы и минусы использования специальных символов в идентификаторах SQL?

    Следует ли мне избегать специальных символов, таких как é á ç в именах таблиц и столбцов SQL? Каковы плюсы и минусы использования специальных символов?

    SQL Server T-SQL поиск специальных символов

    В SQL Server, как искать специальные символы, такие как квадратные скобки? Я попытался использовать приведенный ниже код для поиска . select * from dbo.Content where title like…

    MS Access Функции


    ❮ SQL Справочник Ключевых слов



    MS Access имеет множество встроенных функций.

    Этот справочник содержит функции строк, чисел и дат в MS Access.


    MS Access Строковые функции

    ФункцияОписание
    AscВозвращает значение ASCII для конкретного символа
    ChrВозвращает символ по указанному номеру кода ASCII
    Concat with &Добавляет две или более строк вместе
    CurDirВозвращает полный путь для указанного диска
    FormatФорматирует значение с указанным форматом
    InStrВозвращает позицию первого вхождения строки в другую
    InstrRevВозвращает позицию первого вхождения строки в другую, начиная с конца строки
    LCaseПреобразует строку в нижний регистр
    LeftИзвлекает ряд символов из строки (начиная слева)
    LenВозвращает длину строки
    LTrimУдаляет начальные пробелы из строки
    MidИзвлекает некоторые символы из строки (начиная с любой позиции)
    ReplaceЗаменяет подстроку внутри строки другой подстрокой, заданное количество раз
    RightИзвлекает ряд символов из строки (начиная справа)
    RTrimУдаляет конечные пробелы из строки
    SpaceВозвращает строку с указанным количеством пробелов
    SplitРазбивает строку на массив подстрок
    StrВозвращает число в виде строки
    StrCompСравнивает две строки
    StrConvВозвращает преобразованную строку
    StrReverseПереворачивает строку и возвращает результат
    TrimУдаляет из строки как начальные, так и конечные пробелы
    UCaseПреобразует строку в верхний регистр


    MS Access Числовые функции

    ФункцияОписание
    AbsВозвращает абсолютное значение числа
    AtnВозвращает арктангенс числа
    AvgВозвращает среднее значение выражения
    CosВозвращает косинус угла
    CountВозвращает количество записей, возвращаемых запросом select
    ExpВозвращает значение e, возведенное в степень заданного числа
    FixВозвращает целочисленную часть числа
    FormatФорматирует числовое значение с указанным форматом
    IntВозвращает целочисленную часть числа
    MaxВозвращает максимальное значение в наборе значений
    MinВозвращает минимальное значение в наборе значений
    RandomizeИнициализирует генератор случайных чисел (используемый Rnd()) с помощью затравки
    RndВозвращает случайное число
    RoundОкругляет число до заданного количества знаков после запятой
    SgnВозвращает знак числа
    SqrВозвращает квадратный корень из числа
    SumВычисляет сумму набора значений
    ValСчитывает строку и возвращает числа, найденные в этой строке

    MS Access Функции дат

    ФункцияОписание
    DateВозвращает текущую системную дату
    DateAddДобавляет интервал времени/даты к дате, а затем возвращает дату
    DateDiffВозвращает разницу между двумя датами
    DatePartВозвращает указанную часть даты (в виде целого числа)
    DateSerialВозвращает дату из указанных частей (значения года, месяца и дня)
    DateValueВозвращает дату на основе строки
    DayВозвращает день месяца для заданной даты
    FormatФорматирует значение даты в указанном формате
    HourВозвращает часовую часть time/datetime
    MinuteВозвращает минутную часть time/datetime
    MonthВозвращает месячную часть заданной даты
    MonthNameВозвращает название месяца на основе числа
    NowВозвращает текущую дату и время на основе системной даты и времени компьютера
    SecondВозвращает секундную часть time/datetime
    TimeВозвращает текущее системное время
    TimeSerialВозвращает время из указанных частей (час, минута и второе значение)
    TimeValueВозвращает время, основанное на строке
    WeekdayВозвращает номер дня недели для заданной даты
    WeekdayNameВозвращает название дня недели на основе числа
    YearВозвращает годовую часть заданной даты

    MS Access Некоторые другие функции

    ФункцияОписание
    CurrentUserВозвращает имя текущего пользователя базы данных
    EnvironВозвращает строку, содержащую значение переменной среды операционной системы
    IsDateПроверяет, можно ли преобразовать выражение в дату
    IsNullПроверяет, содержит ли выражение Null (нет данных)
    IsNumericПроверяет, является ли выражение допустимым числом


    ❮ SQL Справочник Ключевых слов

    TRIM (Transact-SQL) — SQL Server

    • 2 минуты на чтение

    В этой статье

    Применимо к: SQL Server 2017 (14.x) и более поздних версий База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics

    Удаляет пробел char (32) или другие указанные символы из начала и конца строки.

    Синтаксис

      - синтаксис для SQL Server и базы данных SQL Azure
    ОБРЕЗАТЬ (строка [символов ОТ])
      
      - синтаксис для Azure Synapse Analytics
    ОБРЕЗАТЬ (строка)
      

    Аргументы

    символов
    Вызов литерала, переменной или функции любого типа символа, отличного от LOB ( nvarchar , varchar , nchar или char ), содержащий символы, которые следует удалить. Типы nvarchar (max) и varchar (max) недопустимы.

    строка
    Является выражением любого символьного типа ( nvarchar , varchar , nchar или char ), из которого следует удалить символы.

    Типы возврата

    Возвращает символьное выражение с типом строкового аргумента, в котором пробел char (32) или другие указанные символы удалены с обеих сторон. Возвращает NULL , если входная строка — NULL .

    Замечания

    По умолчанию функция TRIM удаляет пробел как с начала, так и с конца строки.Это поведение эквивалентно LTRIM (RTRIM (@string)) .

    Примеры

    A. Удаляет пробел с обеих сторон строки

    В следующем примере удаляются пробелы до и после слова test .

      ВЫБРАТЬ ПОДРЕЗКУ ('тест') как результат;
      

    Вот результат.

      тест
      

    B. Удаляет указанные символы с обеих сторон строки

    В следующем примере удаляются конечная точка и пробелы перед # и после слова test .

      SELECT TRIM ('.,!' FROM '# test.') КАК Результат;
      

    Вот результат.

      # test
      

    См. Также

    Функции SQL Server


    SQL Server имеет множество встроенных функций.

    Эта ссылка содержит строку, число, дату,
    преобразование и некоторые расширенные функции
    в SQL Server.


    Строковые функции SQL Server

    .

    Функция Описание
    ASCII Возвращает значение ASCII для определенного символа
    СИМВОЛ Возвращает символ на основе кода ASCII
    CHARINDEX Возвращает позицию подстроки в строке
    CONCAT Складывает две или более строк
    Concat с + Складывает две или более строк
    CONCAT_WS Добавляет две или более строк вместе с разделителем
    ДЛИНА ДАННЫХ Возвращает количество байтов, используемых для представления выражения
    РАЗНИЦА Сравнивает два значения SOUNDEX и возвращает целочисленное значение
    ФОРМАТ Форматирует значение в указанном формате
    ЛЕВЫЙ Извлекает количество символов из строки (начиная слева)
    LEN Возвращает длину строки
    НИЖНИЙ Преобразует строку в нижний регистр
    LTRIM Удаляет начальные пробелы из строки
    NCHAR Возвращает символ Юникода на основе числового кода
    PATINDEX Возвращает позицию шаблона в строке
    QUOTENAME Возвращает строку Unicode с разделителями, добавленными, чтобы сделать строку
    действительный идентификатор SQL Server с разделителями
    ЗАМЕНА Заменяет все вхождения подстроки в строке новым
    подстрока
    ПОВТОР Повторяет строку указанное количество раз
    ОБРАТНЫЙ Оборачивает строку и возвращает результат
    ПРАВЫЙ Извлекает количество символов из строки (начиная справа)
    RTRIM Удаляет конечные пробелы из строки
    SOUNDEX Возвращает четырехзначный код для оценки сходства двух строк
    ПРОСТРАНСТВО Возвращает строку из указанного количества пробелов
    STR Возвращает число в виде строки
    МАТЕРИАЛ Удаляет часть строки, а затем вставляет другую часть в строку,
    начиная с указанной позиции
    ПОДСТАВКА Извлекает некоторые символы из строки
    ПЕРЕВЕСТИ Возвращает строку из первого аргумента после символов, указанных в
    второй аргумент переводится в символы, указанные в третьем
    аргумент.
    ОТДЕЛКА Удаляет начальные и конечные пробелы (или другие указанные символы) из строки
    UNICODE Возвращает значение Unicode для первого
    символ входного выражения
    ВЕРХНИЙ Преобразует строку в верхний регистр


    Математические / числовые функции SQL Server

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    Функция Описание
    АБС Возвращает абсолютное значение числа
    ACOS Возвращает арккосинус числа
    ASIN Возвращает арксинус числа
    ATAN Возвращает арктангенс числа
    ATN2 Возвращает арктангенс двух чисел
    СРЕДНЯЯ Возвращает среднее значение выражения
    ПОТОЛОК Возвращает наименьшее целочисленное значение, которое больше числа
    СЧЕТ Возвращает количество записей, возвращенных запросом выбора
    COS Возвращает косинус числа
    COT Возвращает котангенс числа
    ГРАДУСОВ Преобразует значение в радианах в градусы
    EXP Возвращает e в степени указанного числа
    ЭТАЖ Возвращает наибольшее целое число, которое <= числу
    ЖУРНАЛ Возвращает натуральный логарифм числа или логарифм числа в
    указанная база
    LOG10 Возвращает натуральный логарифм числа по основанию 10
    МАКС Возвращает максимальное значение из набора значений
    МИН Возвращает минимальное значение из набора значений
    PI Возвращает значение PI
    МОЩНОСТЬ Возвращает значение числа, возведенного в степень другого числа
    РАДИАНЫ Преобразует значение градуса в радианы
    RAND Возвращает случайное число
    КРУГЛЫЙ Округляет число до указанного количества десятичных знаков
    ЗНАК Возвращает знак числа
    SIN Возвращает синус числа
    SQRT Возвращает квадратный корень из числа
    ПЛОЩАДЬ Возвращает квадрат числа
    СУММ Вычисляет сумму набора значений
    ТАН Возвращает тангенс числа

    Функции даты SQL Server

    Функция Описание
    CURRENT_TIMESTAMP Возвращает текущую дату и время
    ДАТА ДОБАВИТЬ Добавляет интервал времени / даты к дате, а затем возвращает дату
    РАЗНДАТ Возвращает разницу между двумя датами
    ДАТА ЧАСТИ Возвращает дату из указанных частей (значения года, месяца и дня)
    ИМЯ Возвращает указанную часть даты (в виде строки)
    DATEPART Возвращает указанную часть даты (как целое число)
    ДЕНЬ Возвращает день месяца для указанной даты
    GETDATE Возвращает текущую системную дату и время базы данных
    GETUTCDATE Возвращает текущую дату и время UTC системы базы данных
    ISDATE Проверяет выражение и возвращает 1, если это допустимая дата, в противном случае 0
    МЕСЯЦ Возвращает часть месяца для указанной даты (число от 1 до 12)
    SYSDATETIME Возвращает дату и время SQL Server
    ГОД Возвращает часть года для указанной даты

    Дополнительные функции SQL Server

    Функция Описание
    CAST Преобразует значение (любого типа) в указанный тип данных
    COALESCE Возвращает первое ненулевое значение в списке
    ПРЕОБРАЗОВАТЕЛЬ Преобразует значение (любого типа) в указанный тип данных
    CURRENT_USER Возвращает имя текущего пользователя в базе данных SQL Server
    IIF Возвращает значение, если условие ИСТИНА, или другое значение, если условие ЛОЖЬ
    ISNULL Вернуть указанное значение, если выражение равно ПУСТО (NULL), в противном случае вернуть
    выражение
    ISNUMERIC Проверяет, является ли выражение числовым
    НУЛЛИФ Возвращает NULL, если два выражения равны
    SESSION_USER Возвращает имя текущего пользователя в базе данных SQL Server
    СЕССИЯ СОБСТВЕННОСТЬ Возвращает настройки сеанса для указанной опции
    SYSTEM_USER Возвращает логин для текущего пользователя
    ИМЯ ПОЛЬЗОВАТЕЛЯ Возвращает имя пользователя базы данных на основе указанного идентификатора

    Функции доступа MS


    MS Access имеет множество встроенных функций.

    Эта ссылка содержит функции строки, числа и даты.
    в MS Access.


    Функции строки доступа MS

    Функция Описание
    по возрастанию Возвращает значение ASCII для определенного символа
    Chr Возвращает символ для указанного числового кода ASCII
    Concat с & Складывает две или более строк
    CurDir Возвращает полный путь для указанного диска
    Формат Форматирует значение в указанном формате
    ИнСтр Получает позицию первого вхождения строки в другом
    InstrRev Получает позицию первого вхождения строки в другом,
    от конца строки
    LCase Преобразует строку в нижний регистр
    Левый Извлекает количество символов из строки (начиная слева)
    Лен Возвращает длину строки
    LTrim Удаляет начальные пробелы из строки
    Средний Извлекает некоторые символы из строки (начиная с любой позиции)
    Заменить Заменяет подстроку в строке другой
    подстрока, указанное количество раз
    Правый Извлекает количество символов из строки (начиная справа)
    RTrim Удаляет конечные пробелы из строки
    Пространство Возвращает строку из указанного количества пробелов
    Разъем Разбивает строку на массив подстрок
    ул. Возвращает число в виде строки
    StrComp Сравнивает две строки
    StrConv Возвращает преобразованную строку
    StrReverse Оборачивает строку и возвращает результат
    Накладка Удаляет как начальные, так и конечные пробелы из строки
    UCase Преобразует строку в верхний регистр


    MS Доступ к числовым функциям

    .

    .

    .

    .

    Функция Описание
    Abs Возвращает абсолютное значение числа
    Атн Возвращает арктангенс числа
    В среднем Возвращает среднее значение выражения
    Cos Возвращает косинус угла
    Счетчик Возвращает количество записей, возвращенных запросом выбора
    Опыт Возвращает e в степени указанного числа
    Исправить Возвращает целую часть числа
    Формат Форматирует числовое значение в указанном формате
    Внутр. Возвращает целую часть числа
    Макс Возвращает максимальное значение из набора значений
    Мин. Возвращает минимальное значение из набора значений
    Произвольно Инициализирует генератор случайных чисел (используемый Rnd ()) с начальным значением
    Rnd Возвращает случайное число
    Круглый Округляет число до указанного количества десятичных знаков
    Sgn Возвращает знак числа
    кв. Возвращает квадратный корень из числа
    Сумма Вычисляет сумму набора значений
    Вал Считывает строку и возвращает числа, найденные в строке

    Функции даты доступа MS

    Функция Описание
    Дата Возвращает текущую системную дату
    DateAdd Добавляет интервал времени / даты к дате, а затем возвращает дату
    DateDiff Возвращает разницу между двумя датами
    DatePart Возвращает указанную часть даты (как целое число)
    DateSerial Возвращает дату из указанных частей (значения года, месяца и дня)
    DateValue Возвращает дату на основе строки
    День Возвращает день месяца для заданной даты
    Формат Форматирует значение даты в указанном формате
    Час Возвращает часовую часть времени / даты и времени
    Минуты Возвращает минутную часть времени / даты и времени
    Месяц Возвращает часть месяца заданной даты
    Месяц Возвращает название месяца на основе числа
    Сейчас Возвращает текущую дату и время на основе системной даты компьютера и
    время
    Второй Возвращает секундную часть времени / даты и времени
    Время Возвращает текущее системное время
    TimeSerial Возвращает время из указанных частей (значение часа, минуты и секунды)
    TimeValue Возвращает время на основе строки
    Будний день Возвращает номер дня недели для заданной даты
    WeekdayName Возвращает название дня недели на основе числа
    Год Возвращает часть года для заданной даты

    Доступ MS к некоторым другим функциям

    Функция Описание
    CurrentUser Возвращает имя текущего пользователя базы данных
    Окружающая среда Возвращает строку, содержащую значение среды операционной системы.
    переменная
    IsDate Проверяет, можно ли преобразовать выражение в дату
    IsNull Проверяет, содержит ли выражение Null (нет данных)
    IsNumeric Проверяет, является ли выражение допустимым числом

    Строковые функции SQL Server

    9013 9013

    9013 0

    ASCII Возврат значения кода ASCII символа
    CHAR Преобразование значения ASCII в символ
    CHARINDEX Поиск начальной подстроки из указанного места и вернуть позицию подстроки.
    CONCAT Объединить две или более строк в одну строку
    CONCAT_WS Объединить несколько строк с разделителем в одну строку
    DIFFERENCE
    FORMAT Возвращает значение, отформатированное с указанным форматом и необязательным языком и региональными параметрами
    LEFT Извлекает заданное количество символов из символьной строки, начиная слева
    LEN Возвращает количество символов строки символов
    LOWER Преобразовать строку в нижний регистр
    LTRIM Вернуть новую строку из указанной строки после удаления всех начальных пробелов
    NCHAR Вернуть символ Unicode с указанным целочисленный код, как определено стандартом Unicode
    PATINDEX Возвращает начальную позицию первого вхождения шаблона в строку.
    QUOTENAME Возвращает строку Unicode с разделителями, добавленными, чтобы сделать входную строку допустимым идентификатором с разделителями
    REPLACE Заменить все вхождения подстроки в строке другой подстрокой REPLIC

    Вернуть строку, повторяющуюся указанное количество раз
    REVERSE Вернуть строку символов в обратном порядке
    RIGHT Извлечь заданное количество символов из строки символов, начиная с правого
    RTRIM Возвращает новую строку из указанной строки после удаления всех конечных пробелов
    SOUNDEX Возвращает четырехсимвольный (SOUNDEX) код строки в зависимости от того, как она произносится
    SPACE Возвращает строку повторяющихся пробелов.
    STR Возвращает символьные данные, преобразованные из числовых данных.
    STRING_AGG Объединить строки строк с указанным разделителем в новую строку
    STRING_ESCAPE Экранирует специальные символы в строке и возвращает новую строку с экранированными символами
    STRING оцененная функция, которая разбивает строку на строки подстрок на основе указанного разделителя.
    STUFF Удалить часть строки, а затем вставить другую подстроку в строку, начиная с указанной позиции.
    SUBSTRING Извлечь подстроку в строке, начиная с указанного места с указанной длиной
    TRANSLATE Замена нескольких односимвольных переводов один-к-одному за одну операцию.
    TRIM Возвращает новую строку из указанной строки после удаления всех начальных и конечных пробелов
    UNICODE Возвращает целочисленное значение символа, как определено стандартом Unicode.
    UPPER Преобразование строки в верхний регистр

    Обзор строковых функций SQL

    В этой статье мы постараемся дать краткий обзор строковых функций SQL, используемых в SQL Server, и приведем несколько примеров.

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

    ASCII

    Первая строковая функция SQL, которую мы опишем, — это ASCII (), которая представляет собой скалярную функцию, которая принимает строку в качестве входных данных и возвращает код ASCII первого символа в этой строке. Обратите внимание, что ASCII означает Американский стандартный код для обмена информацией. Это 7-битный код символа, в котором каждый бит представляет уникальный символ, который может использоваться для разных целей. Вы можете найти всю таблицу ASCII на следующем веб-сайте: Код ASCII — расширенная таблица ASCII.

    Пример :

    ВЫБРАТЬ ASCII (‘A’), ASCII (‘AB’), ASCII (‘B’)

    Результат :

    65, 65, 66

    Как показано в результате ASCII («A») и ASCII («AB») возвращают тот же результат 65

    CHARINDEX

    CHARINDEX () — это скалярная строковая функция SQL, используемая для возврата индекса определенного строкового выражения в данной строке.CHARINDEX () имеет 2 обязательных параметра, которые являются входной строкой и символом, и один необязательный параметр, который является начальным индексом операции поиска (если этот аргумент не указан или меньше или равен нулевому (0) значению, поиск начинается с начало входной строки).

    Тип возвращаемого значения функции зависит от длины входной строки; если это NVARCHAR (MAX) , тогда он вернет значение BIGINT , иначе он вернет значение INT .

    Пример:

    ВЫБРАТЬ CHARINDEX («Мир», «Привет, мир»), CHARINDEX («Мир», «Привет, мир», 8)

    Результат:

    7, 0

    Как показано в приведенном выше примере, мы искали строку World в Hello World , и она вернула 7, но когда мы указали начальное местоположение как 8, она вернула 0, поскольку после этого индекса не найдено вхождение.

    КОНКАТ

    CONCAT () — это скалярная строковая функция SQL, которая принимает несколько строк в качестве входных данных и возвращает строку после объединения всех входных данных. Эта функция может принимать до 254 входов.

    Пример:

    SELECT CONCAT («Привет», «Мир»)

    Результат:

    Привет мир

    CONCAT_WS

    CONCAT_WS () очень похожа на функцию CONCAT (), но позволяет пользователю указать разделитель между объединенными входными строками.Его можно использовать для генерации значений, разделенных запятыми.

    Пример :

    SELECT CONCAT_WS (‘,’, ‘США’, ‘Нью-Йорк’)

    Результат :

    США, Нью-Йорк

    SOUNDEX

    SOUNDEX () — это скалярная функция, которая принимает на вход строковое значение и возвращает четырехсимвольную строку в зависимости от того, как эта строка произносится.Первый символ кода — это первый символ входной строки, преобразованный в верхний регистр. Остальные символы кода — это числа, обозначающие буквы в выражении. Обратите внимание, что есть некоторые буквы, которые игнорируются (A, O, U, E, I, Y, H, W), за исключением тех случаев, когда они являются первой буквой. Кроме того, если длина строки меньше 4, к возвращаемому значению добавляются дополнительные нули.

    SOUNDEX () в основном используется для сопоставления строк и связывания строк.

    Пример:

    ВЫБРАТЬ SOUNDEX (‘H’), SOUNDEX (‘Он’), SOUNDEX (‘Привет’), SOUNDEX (‘Привет, мир’)

    Результат:

    H000, H000, h500, h500

    Из результатов выше мы видим, что результат функции SOUNDEX () одинаков для «H» и «He», поскольку буква «e» игнорируется (как упомянуто выше).Кроме того, результат Hello и Hello World одинаков, поскольку функция SOUNDEX () принимает только первые 4 символа.

    РАЗНИЦА

    DIFFERENCE () — это скалярная функция, используемая для измерения сходства двух строк с помощью другой строковой функции SQL, которой является SOUNDEX (). Сначала к каждому входу применяется SOUNEDX (), а затем выполняется проверка на подобие этих результатов. Эта функция возвращает целочисленное значение от 0 до 4. Когда это значение ближе к 4, входные данные очень похожи.

    Пример:

    ВЫБРАТЬ РАЗНИЦУ («ПРИВЕТ», «ВЕЛОСИПЕД»), РАЗНИЦА («ПРИВЕТ», «ПРИВЕТ, МИР»)

    Результат:

    1, 4

    Из приведенных выше результатов, поскольку функция SOUNDEX () возвращает одно и то же значение для HELLO, и HELLO WORLD, , тогда результат функции DIFFERENCE () равен 4, что означает, что они очень похожи (на основе SOUNDEX ()) .С другой стороны, результат функции DIFFERENCE () для HELLO и BICYCLE равен 1, что означает, что они не похожи.

    СЛЕВА, СПРАВА

    Функции LEFT () и RIGHT () — одни из самых популярных строковых функций SQL. Они используются для извлечения определенного количества символов из левой или правой части строки.

    Пример:

    ВЫБРАТЬ ВЛЕВО (‘Hello World’, 5), RIGHT (‘Hello Wolrd’, 5)

    Результат:

    Привет мир

    НИЖНИЙ, ВЕРХНИЙ

    Функции LOWER () и UPPER () — еще одни популярные строковые функции SQL, которые используются для изменения регистра символов входной строки.LOWER () используется для изменения регистра букв на нижний регистр, а UPPER () используется для изменения регистра букв на верхний регистр.

    Пример :

    ВЫБРАТЬ НИЖНИЙ («Привет, мир»), ВЕРХНИЙ («Привет, мир»)

    Результат :

    привет мир, ПРИВЕТ МИР

    LTRIM, RTRIM

    Последними функциями, которые мы проиллюстрируем в этой статье, являются функции LTRIM () и RTRIM (), которые используются для удаления дополнительных пробелов с левой или правой стороны входной строки.

    Пример :

    ВЫБРАТЬ RTRIM («Привет»), LTRIM («Мир»)

    Результат :

    Привет мир

    Заключение

    В этой статье мы представили обзор некоторых встроенных строковых функций SQL в SQL Server, мы предоставили некоторые примеры и снимки экрана, а также кратко обсудили полученные результаты.

    Хади — специалист по SQL Server с более чем 10-летним опытом. Его основная специализация — интеграция данных. Он является одним из ведущих разработчиков служб ETL и SQL Server Integration Services на сайте Stackoverflow.com. Кроме того, он опубликовал несколько серий статей о Biml, функциях SSIS, поисковых системах, Hadoop и многих других технологиях.

    Помимо работы с SQL Server, он работал с различными технологиями обработки данных, такими как базы данных NoSQL, Hadoop, Apache Spark.Он сертифицированный специалист Neo4j и ArangoDB.

    На академическом уровне Хади имеет две степени магистра в области компьютерных наук и бизнес-вычислений. В настоящее время он доктор философии. кандидат наук о данных, специализирующийся на методах оценки качества больших данных.

    Хади действительно любит узнавать что-то новое каждый день и делиться своими знаниями. Вы можете связаться с ним на его личном сайте.

    Посмотреть все сообщения от Hadi Fadlallah

    Последние сообщения от Hadi Fadlallah (посмотреть все)

    Введение в стандартные строковые функции SQL Server

    Параграф

    Встроенные функции SQL String позволяют находить и изменять текстовые значения, такие как типы данных VARCHAR и CHAR, в SQLServer.Используя эти функции, вы можете изменить текстовое значение, например заменить «Смит, Джо» на «Джо Смит».

    Встроенные функции SQL String позволяют находить и изменять текстовые значения, такие как типы данных VARCHAR и CHAR, в SQLServer. Используя эти функции, вы можете изменить текстовое значение, например заменить «Смит, Джо» на «Джо Смит».

    Если вы не знакомы с функциями SQL, я бы порекомендовал изучить Введение во встроенные функции SQL Server.

    Чтобы извлечь максимальную пользу из этого и других наших уроков, обязательно попрактикуйтесь на примерах!

    Все примеры для этого урока основаны на Microsoft SQL Server Management Studio и базе данных AdventureWorks2012.Вы можете начать использовать эти бесплатные инструменты, используя мое Руководство Начало работы с SQL Server .

    Введение в строковые функции SQL Server

    Строковые функции t-SQL используются для управления или возврата информации о текстовых выражениях, таких как типы данных CHAR и VARCHAR.

    В вашем распоряжении множество строковых функций в SQL. Я бы в целом классифицировал их как:

    • Позиция
    • Преобразование
    • Набор символов
    • Soundex

    Все функции перечислены на странице Строковые функции (Transact-SQL).Я бы порекомендовал посетить эту страницу, чтобы узнать о каждой функции.

    Вместо того, чтобы повторять этот материал, мы сосредоточимся на функциях, которые, как я видел, обычно используются в бизнесе.

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

    Это не строгая шкала, и все функции можно использовать в каком-то бизнес-кейсе, но мне нужен был способ помочь вам отсеять поля до наиболее важных.

    Вот моя попытка:

    Строковые функции SQL Server — часто используемые функции в зеленых функциях

    , используемые для поиска позиции

    CHARINDEX

    Функция CHARINDEX используется для поиска позиции одной строки в другой. Это может быть удобно, когда вам нужно разделить данные тире или запятыми.

    Общая форма функции ХАРИНДЕКС:

     CHARRINDEX (значение  для поиска , значение  для поиска ) 

    Где значение для поиска — это один или несколько символов, которые вы хотите найти в значении для поиска .

    Если значение найдено, возвращается начальная позиция. Если значение не найдено, возвращается 0 (ноль).

    Если значение для поиска или значение для поиска равно NULL, то возвращается NULL.

    CHARINDEX в действии!

    LEN

    Функция LEN возвращает количество символов в строке.

    В следующем примере вы можете видеть, что длина «SQL Server» равна 10.

    Пример функции LEN

    Длина редко используется сама по себе.Он используется в основном вместе с другими функциями, такими как ВЛЕВО и ВПРАВО.

    Функции, используемые для преобразования строк

    СЛЕВА и СПРАВА

    Функции LEFT и RIGHT используются для возврата либо начальной, либо конечной части строки.

    ВЛЕВО вернет начальные символы; тогда как ВПРАВО используется для возврата конечных символов.

    Общая форма функции ВЛЕВО:

     ЛЕВЫЙ (значение  , длина  ) 

    Где значение — это строка, с которой вы работаете, а длина — это количество символов, которое вы хотите вернуть с начала значения.

    Пример функции LEFT

    Если длина больше, чем количество символов в значении , то возвращается вся строка.

    ЕСЛИ длина отрицательна, возникает ошибка.

    Если значение length или значение равно NULL, то возвращается NULL.

    Строковая функция RIGHT работает так же, как LEFT, но возвращает конечные символы, а не начало.

     ВЫБРАТЬ ВПРАВО («SQL Rocks!», 6) 

    Возвращает значение «Камни!».

    Предположим, менеджеру производства нужен отдельный список всех префиксов номеров продуктов.Как ты мог вернуть этот список?

    Если вы посмотрите на значение столбца Production.Product ProductNumber, вы заметите, что префикс — это первые два символа. Итак, зная, что мы делаем сейчас с функцией LEFT, решение несложно!

    Вот что можно написать:

     ВЫБРАТЬ ОТЛИЧИТЕЛЬНЫЙ СЛЕВА (ProductNumber, 2)
    ИЗ ПРОИЗВОДСТВА Товар 

    Функция LEFT возвращает первые два символа. Поскольку мы используем оператор DISTICT, повторяющиеся результаты исключаются из результата.

    Хорошо, теперь начальник производства сходит с ума! Последний символ префикса ProcuctNumber очень много значит для нее. Она хочет знать, что это за разные ценности. Чем мы можем помочь?

    Мы можем использовать ВЛЕВО и ВПРАВО вместе. Мы уже знаем, как получить ЛЕВЫЙ большинство символов, теперь все, что нам нужно сделать, это взять последний символ из этого результата и вернуть его, как показано ниже.

    Функция вложенности для возврата символов.

    Вот запрос, который вы можете использовать:

     ВЫБРАТЬ ОТЛИЧИТЕЛЬНОЕ ВПРАВО (ЛЕВО (ProductNumber, 2), 1)
    ОТ ПРОИЗВОДСТВА.Товар 

    Как и другие функции, вы можете вкладывать строковые функции. Просто помните, что результаты одной функции можно использовать в другой. Эти выражения следует читать «изнутри».

    ПОДСТАВКА

    Функция ПОДСТРОКА используется для возврата символов из другой строки.

    Общая форма функции ПОДСТРОКА —

    .

     ПОДСТАВКА ( значение ,  позиция ,  длина ) 

    Где значение — это строка, с которой вы работаете, позиция — это символ для начала возврата символов, а длина — количество возвращаемых символов.

    Если длина отрицательна, возвращается ошибка.

    Если позиция или длина равны NULL, то возвращается NULL.

    SUBSTRING Пример

    Например,

     ПОДСТРОКА («SQL Server», 5,3) 

    возвращает «Ser». Это последовательность из трех символов, начинающаяся с пятой позиции.

    ПОДСТРОКА — это обобщенная форма функций ВЛЕВО и ВПРАВО.

    Дополнительный балл — Покажите, как ВЛЕВО и ВПРАВО могут использоваться вместе для имитации ПОДСТРОЙКИ.Покажите свой ответ в комментариях ниже.

    LEFT («SQL Server», 4) и SUBSTRING («SQL Server», 1,4) возвращают первые четыре символа.

    RIGHT немного сложнее!

    RIGHT («SQL Server», 4) можно записать как SUBSTRING («SQL Server», 7,4)

    Что говорит начать с позиции 7 , а затем вернуть следующие четыре символа. Общая форма для этого, поскольку вы не всегда знаете длину значения, —

    .

     SUBSTRING («SQL Server», LEN («SQL Server») - 4, 4) 

    Вот пример использования столбцов SQL.

     ВЫБРАТЬ ВЛЕВО (Имя, 2) как Left2,
           ПОДСТРОКА (Имя, 1, 2) как Подстрока2,
           ВПРАВО (Имя, 3) как Вправо3,
           ПОДСТРОКА (Имя, LEN (Имя) -2,3) как Подстрока3
    ИЗ ПРОИЗВОДСТВА Товар 

    Чьи результаты

    Результаты показывают, что ПОДСТАВКА такая же, как ЛЕВАЯ и ПРАВАЯ

    ВЕРХНИЙ и НИЖНИЙ

    Строковые функции UPPER и LOWER используются для возврата значений, символы которых находятся в верхнем или нижнем регистре соответственно.

    Общая форма функции ВЕРХНИЙ —

    .

     ВЕРХНИЙ (значение  ) 

    , где , значение — строка, с которой вы работаете.

    Если значение NULL, возвращается NULL.

    Форма и поведение LOWER аналогичны.

    Вот пример запроса:

     ВЫБЕРИТЕ FirstName + '' + LastName как FullName,
           UPPER (FirstName + '' + LastName) как UpperName,
           LOWER (FirstName + '' + LastName) как LowerName
    ОТ ЛИЦА 

    Что возвращает

    Примеры использования UPPER и LOWER

    REPLACE

    Функция REPLACE удобна, когда вы хотите найти один или несколько символов в строке и заменить их другими символами.Обычно все дефисы «-» заменяются пробелами.

    Вот общий вид функции ЗАМЕНИТЬ

     ЗАМЕНИТЬ ( значение ,  образец ,  замена ) 

    Где значение — это строка, с которой нужно работать, шаблон — это части строки, которые вы хотите найти и заменить, а замена — это значение для замены шаблона.

    Если какой-либо из параметров равен NULL, REPLACE возвращает NULL.

    Если шаблон не найден, ничего не заменяется и значение возвращается в исходной форме.

    В бизнесе вы столкнетесь с данными из двух отдельных систем, таких как ваши системы и системы клиента или поставщика, в которых данные обрабатываются по-разному. Это может вызвать проблемы, особенно когда дело доходит до сопоставления.

    Однажды, как я видел, часто возникает проблема с номерами деталей. Рассмотрим приключенческие произведения. Внутри компании номера деталей имеют тире, например «AR-5381»; однако некоторые поставщики заменили тире пробелами, например «AR 5381».

    Прежде чем мы проведем крупномасштабное сопоставление данных, производственная группа желает предоставить поставщикам наш список деталей, в котором дефисы заменены пробелами.

    Вот запрос, который мы можем выполнить для этого:

     ВЫБРАТЬ Имя,
           Номер продукта,
           REPLACE (ProductNumber; '-', '') как SupplierProductNumber
    ИЗ ПРОИЗВОДСТВА Товар 

    И результат, который мы можем предоставить поставщикам:

    Хотя у вас не может быть пустого шаблона , и если вы задумаетесь, это не будет иметь особого смысла, вы можете заменить шаблон пустым значением.Почему? Что ж, хорошая причина — убрать символы из строки.

    В примере ProductNumber могут быть случаи, когда мы хотим использовать номер продукта без тире. В этом случае можно использовать этот запрос:

     ВЫБРАТЬ Имя,
           Номер продукта,
           REPLACE (ProductNumber; '-', '') как SupplierProductNumber
    ИЗ ПРОИЗВОДСТВА Товар 

    Обратите внимание, что две одинарные кавычки вместе как ”представляют собой пустую строку.

    LTRIM и RTRIM

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

    LTRIM используется для удаления пробелов в начале строки; тогда как RTRIM удаляет пробелы с конца.

    Общая форма LTRIM —

     LTRIM (значение  ) 

    Где значение — строка, с которой вы хотите работать. Если значение равно NULL, возвращается NULL.

    Например, рассмотрим

     SELECT LTRIM («Типы продукции») 

    Что возвращает «Типы продуктов»

    Если вы хотите удалить пробелы как в начале, так и в конце строки, вы можете использовать обе функции.

     ВЫБЕРИТЕ RTRIM (LTRIM («Типы продукции»)) 

    Удаляет как начальные, так и конечные пробелы.

    Эти функции пригодятся при импорте данных из текстовых файлов, особенно файлов с фиксированным форматом.

    Функции текстовой строки SQL — Центр поддержки

    При вводе запроса в редакторе SQL или создании вычисления используется синтаксис Presto SQL. Эти общие функции могут оказаться полезными для настройки значений текстовой строки.

    КОНКАТ

    Чтобы добавить значения текстовой строки нескольких полей вместе, используйте функцию CONCAT как CONCAT ( строка , строка ).Например, если первое поле содержит lorem , а второе — ipsum , вычисление CONCAT ({1}, ',', {2}) вернет lorem, ipsum .

    ДЛИНА

    Чтобы вернуть количество символов в строке, используйте функцию ДЛИНА как ДЛИНА ( строка ). Например, запрос SELECT LENGTH ('Workiva') возвращает 8 .

    НИЖНИЙ или ВЕРХНИЙ

    Чтобы изменить регистр строки, используйте функцию НИЖНИЙ или ВЕРХНИЙ :

    • Чтобы преобразовать строку в нижний регистр, используйте функцию LOWER как LOWER ( строка ).Например, запрос SELECT LOWER ('Workiva') возвращает workiva .
    • Чтобы преобразовать строку в верхний регистр, используйте функцию ВЕРХНИЙ как ВЕРХНИЙ ( строка ). Например, запрос SELECT UPPER ('Workiva') возвращает WORKIVA .

    ЗАМЕНИТЬ

    Чтобы заменить экземпляры строки в текстовом значении другой строкой, используйте функцию REPLACE как REPLACE ( строка , поиск , заменить ), где:

    • строка — текстовое значение, в котором нужно заменить текст
    • поиск — строка, которую нужно заменить новым текстом
    • replace — это новая строка для замены строки поиска на

    Например, запрос SELECT REPLACE ('lorem ipsum', 'ip', 'lo') возвращает lorem losum .

    ОБРАТНЫЙ

    Чтобы вернуть строку с ее символами в обратном порядке, используйте функцию REVERSE как REVERSE ( строка ). Например, запрос SELECT REVERSE ('Workiva') возвращает avikroW .

    SUBSTR

    Чтобы вернуть остаток строки из начальной позиции, используйте функцию SUBSTR как SUBSTR ( строка , начало ). Например, запрос SELECT SUBSTR ('Workiva',
    4)
    возвращает кива .

    SS_LEFT или SS_RIGHT

    Чтобы вернуть определенное количество символов из строки, используйте функции SS_LEFT или SS_RIGHT .

    • Чтобы начать с слева строки, используйте SS_LEFT как SS_LEFT ( string_value , length_value ). Например, SS_LEFT ('Workiva', 3) возвращает Wor .
    • Чтобы начать с справа строки, используйте SS_RIGHT как SS_RIGHT ( string_value , length_value ).Например, SS_RIGHT ('Workiva', 4) возвращает кива .

    TRIM, LTRIM или RTRIM

    Чтобы удалить начальные и конечные пробелы из текстовой строки, используйте функцию TRIM как TRIM ( строка ).

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *