Like (transact-sql)like (transact-sql)

SQL References

SQL Keywords
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Functions
String Functions
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER

Numeric Functions
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE

Date Functions
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK

Advanced Functions
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server Functions
String Functions
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER

Numeric Functions
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN

Date Functions
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR

Advanced Functions
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access Functions
String Functions
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase

Numeric Functions
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val

Date Functions
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year

Other Functions
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL Quick Ref

Сеть видеокамер в Стамбуле распознаёт 15 000 лиц в секунду

The SQL LIKE Operator

The LIKE operator is used in a WHERE clause to search for a specified pattern in a column.

There are two wildcards often used in conjunction with the LIKE operator:

  • % — The percent sign represents zero, one, or multiple characters
  • _ — The underscore represents a single character

Note: MS Access uses an asterisk (*) instead of the percent
sign (%), and a question mark (?) instead of the underscore (_).

The percent sign and the underscore can also be used in combinations!

LIKE Syntax

SELECT column1, column2, …
FROM table_name
WHERE columnN LIKE pattern;

Tip: You can also combine any number of conditions using AND or OR operators.

Here are some examples showing different LIKE operators with ‘%’ and ‘_’ wildcards:

LIKE Operator Description
WHERE CustomerName LIKE ‘a%’ Finds any values that start with «a»
WHERE CustomerName LIKE ‘%a’ Finds any values that end with «a»
WHERE CustomerName LIKE ‘%or%’ Finds any values that have «or» in any position
WHERE CustomerName LIKE ‘_r%’ Finds any values that have «r» in the second position
WHERE CustomerName LIKE ‘a__%’ Finds any values that start with «a» and are at least 3 characters in length
WHERE ContactName LIKE ‘a%o’ Finds any values that start with «a» and ends with «o»

Arguments

match_expression
Is any valid expression of character data type.

pattern
Is the specific string of characters to search for in match_expression, and can include the following valid wildcard characters. pattern can be a maximum of 8,000 bytes.

Wildcard character Description Example
% Any string of zero or more characters. WHERE title LIKE ‘%computer%’ finds all book titles with the word ‘computer’ anywhere in the book title.
_ (underscore) Any single character. WHERE au_fname LIKE ‘_ean’ finds all four-letter first names that end with ean (Dean, Sean, and so on).
Any single character within the specified range () or set (). WHERE au_lname LIKE ‘arsen’ finds author last names ending with arsen and starting with any single character between C and P, for example Carsen, Larsen, Karsen, and so on. In range searches, the characters included in the range may vary depending on the sorting rules of the collation.
Any single character not within the specified range () or set (). WHERE au_lname LIKE ‘de%’ all author last names starting with de and where the following letter isn’t l.

escape_character
Is a character put in front of a wildcard character to indicate that the wildcard is interpreted as a regular character and not as a wildcard. escape_character is a character expression that has no default and must evaluate to only one character.

SQL Учебник

SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии

Использование символа-шаблона «%»Using the % Wildcard Character

Если в операторе LIKE указать символ ‘5%’, то компонент Компонент Database EngineDatabase Engine будет искать число «5», за которым следует любая строка с числом символов от нуля и больше.If the LIKE ‘5%’ symbol is specified, the Компонент Database EngineDatabase Engine searches for the number 5 followed by any string of zero or more characters.

Например, при выполнении следующего примера отображаются все динамические административные представления базы данных AdventureWorks2012AdventureWorks2012, так как все они начинаются символами .For example, the following query shows all dynamic management views in the AdventureWorks2012AdventureWorks2012 database, because they all start with the letters .

Чтобы отобразить все объекты, не являющиеся динамическими административными представлениями, используется синтаксис .To see all objects that aren’t dynamic management views, use . Например, если всего имеется 32 объекта и оператор LIKE выдает 13 наименований, совпадающих с шаблоном, то оператор NOT LIKE возвращает 19 объектов, не соответствующих указанному в операторе LIKE шаблону.If you have a total of 32 objects and LIKE finds 13 names that match the pattern, NOT LIKE finds the 19 objects that don’t match the LIKE pattern.

По такому шаблону, как , не всегда будут возвращаться одни и те же имена.You may not always find the same names with a pattern such as . Вместо 19 имен можно найти только 14, так как имена, которые начинаются с буквы или у которых второй буквой является , будут исключены из результата, как и имена динамических административных представлений.Instead of 19 names, you may find only 14, with all the names that start with or have as the second letter eliminated from the results, and the dynamic management view names. Причиной такой реакции на событие является поэтапный поиск отрицательных символов-шаблонов: за один шаг обрабатывается один символ-шаблон.This behavior is because match strings with negative wildcard characters are evaluated in steps, one wildcard at a time. Процесс поиска совпадений прекращается при возникновении сбоя на любой стадии выполнения.If the match fails at any point in the evaluation, it’s eliminated.

«Экономикс» Майкл Гудвин, Дэн Бурр

Представь себе историю экономической мысли в комиксах. Автор просто взял и перелопатил гору экономической литературы, уехал в Индию, чтобы никто не мешал ему их изучать, и пересказал свою теорию экономики от средневековых до современных времен. Все, о чем рассказывается, представлено на конкретных исторических примерах. Без лишних усложнений, с юмором и хорошими иллюстрациями.

Все, что нужно знать об экономике, можно прочитать в этой книге. Как современная экономика меняется под воздействием климатических изменений, войн, ограниченности ресурсов и как эти изменения отражаются на каждом из нас — тоже в этих комиксах.

Пример использования % (символ процент)

Первый пример Oracle оператора LIKE, который мы рассмотрим, предполагает использование подстановочного символа %.

Рассмотрим, как % работает в Oracle операторе LIKE. Мы хотим найти всех customers, чьи last_name начинается с ‘Ар’.

Oracle PL/SQL

SELECT last_name
FROM customers
WHERE last_name LIKE ‘Ap%’;

1
2
3

SELECTlast_name

FROMcustomers

WHERElast_nameLIKE’Ap%’;

Кроме того, можно использовать несколько символов % в пределах одной строки.

Например:

Oracle PL/SQL

SELECT last_name
FROM customers
WHERE last_name LIKE ‘%er%’;

1
2
3

SELECTlast_name

FROMcustomers

WHERElast_nameLIKE’%er%’;

В этом примере Oracle оператора LIKE, мы ищем для всех customers, чьи last_name содержит символы ‘er’.

Оператор SQL LIKE

Оператор Like используется в предложении WHERE для поиска заданного шаблона в столбце.

В сочетании с оператором LIKE используются два подстановочных знака:

  • % — Знак процента представляет ноль, один или несколько символов
  • _ — Знак подчеркивания представляет один символ

Примечание: MS Access использует вопросительный знак (?) вместо знака подчеркивания (_).

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

LIKE Синтаксис

SELECT column1, column2, …
FROM table_name
WHERE columnN LIKE pattern;

Совет: Можно также комбинировать любое количество условий с помощью операторов and или or.

Вот несколько примеров, демонстрирующих различные операторы LIKE с подстановочными знаками «%» и «_»:

LIKE Оператор Описание
WHERE CustomerName LIKE ‘a%’ Находит любые значения, которые начинаются с «a»
WHERE CustomerName LIKE ‘%a’ Находит любые значения, которые заканчиваются «a»
WHERE CustomerName LIKE ‘%or%’ Находит любые значения, которые имеют значение «or» в любом положении
WHERE CustomerName LIKE ‘_r%’ Находит все значения, которые имеют значение «r» во второй позиции
WHERE CustomerName LIKE ‘a_%_%’ Находит любые значения, которые начинаются с «a» и длиной не менее 3 символов
WHERE ContactName LIKE ‘a%o’ Находит любые значения, которые начинаются с «a» и заканчиваются на «o»

SQL References

SQL Keywords
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Functions
String Functions
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER

Numeric Functions
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE

Date Functions
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK

Advanced Functions
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server Functions
String Functions
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER

Numeric Functions
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN

Date Functions
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR

Advanced Functions
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access Functions
String Functions
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase

Numeric Functions
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val

Date Functions
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year

Other Functions
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL Quick Ref

SQL Учебник

SQL ГлавнаяSQL ВведениеSQL СинтаксисSQL SELECTSQL SELECT DISTINCTSQL WHERESQL AND, OR, NOTSQL ORDER BYSQL INSERT INTOSQL Значение NullSQL Инструкция UPDATESQL Инструкция DELETESQL SELECT TOPSQL MIN() и MAX()SQL COUNT(), AVG() и …SQL Оператор LIKESQL ПодстановочныйSQL Оператор INSQL Оператор BETWEENSQL ПсевдонимыSQL JOINSQL JOIN ВнутриSQL JOIN СлеваSQL JOIN СправаSQL JOIN ПолноеSQL JOIN СамSQL Оператор UNIONSQL GROUP BYSQL HAVINGSQL Оператор ExistsSQL Операторы Any, AllSQL SELECT INTOSQL INSERT INTO SELECTSQL Инструкция CASESQL Функции NULLSQL ХранимаяSQL Комментарии

Example — Using _ Wildcard in the LIKE Condition

Next, let’s explain how the wildcard (underscore wildcard) works in the LIKE condition. Remember that wildcard is looking for exactly one character, unlike the wildcard.

Using the categories table with the following data:

category_id category_name
25 Deli
50 Produce
75 Bakery
100 General Merchandise
125 Technology

Let’s try to find all records from the categories table where the category_id is 2-digits long and ends with ‘5’. Enter the following SQL statement:

Try It

SELECT *
FROM categories
WHERE category_id LIKE '_5';

There will be 2 records selected. These are the results that you should see:

category_id category_name
25 Deli
75 Bakery

In this example, there are 2 records that will pattern match — the category_id values 25 and 75. Notice that the category_id of 125 was not selected because, the wilcard matches only on a single character.

Using Multiple Wildcards in the LIKE Condition

If you wanted to match on a 3-digit value that ended with ‘5’, you would need to use the wildcard two times. You could modify your query as follows:

Try It

SELECT *
FROM categories
WHERE category_id LIKE '__5';

Now you will return the category_id value of 125:

Пример — использование подстановочного символа % (символ знак процента)

Первый пример PostgreSQL LIKE, который мы рассмотрим, включает использование подстановочного символа % (символ знак процента). Давайте разберем, как подстановочный символ % работает в PostgreSQL условии LIKE. Мы хотим найти всех employees, last_name начинается с ‘Jo’.

PgSQL

SELECT *
FROM employees
WHERE first_name LIKE ‘Jo%’;

1
2
3

SELECT*

FROMemployees

WHEREfirst_nameLIKE’Jo%’;

Вы также можете использовать подстановочный символ % несколько раз в одной строке. Например,

PgSQL

SELECT *
FROM employees
WHERE first_name LIKE ‘%od%’;

1
2
3

SELECT*

FROMemployees

WHEREfirst_nameLIKE’%od%’;

В этом PostgreSQL примере условия LIKE мы ищем всех employees, чье first_name содержит символы ‘od’.

Пример использования _ (символ подчеркивание)

Далее, давайте рассмотрим, как подстановочный символ _ (символ подчеркивания) работает в Oracle операторе LIKE. Помните, что _ ищет только один символ.

Например:

Oracle PL/SQL

SELECT supplier_name
FROM suppliers
WHERE supplier_name LIKE ‘Sm_th’;

1
2
3

SELECTsupplier_name

FROMsuppliers

WHEREsupplier_nameLIKE’Sm_th’;

В этом примере Oracle LIKE вернет всех suppliers, чье supplier_name имеет длину 5 символов, где первые два символа является ‘Sm’, а последние два символа это ‘th’. Например, он может вернуть suppliers, чьи supplier_name являются ‘Smith’, ‘Smyth’, ‘Smath’ или ‘Smeth’ и т.д.

Вот еще один пример:

Oracle PL/SQL

SELECT *
FROM suppliers
WHERE account_number LIKE ‘92314_’;

1
2
3

SELECT*

FROMsuppliers

WHEREaccount_numberLIKE’92314_’;

Ища номер счета, вы можете обнаружить, что у вас есть только 5 из 6 цифр. В приведенном выше примере, будет возвращено потенциально 10 последних записей (где отсутствующее значение может быть от 0 до 9). Например, запрос может вернуть suppliers, чьи account_number являются:

923140, 923141, 923142, 923143, 923144, 923145, 923146, 923147, 923148, 923149

SQL LIKE Examples

The following SQL statement selects all customers with a CustomerName starting with
«a»:

SELECT * FROM Customers
WHERE CustomerName LIKE ‘a%’;

The following SQL statement selects all customers with a CustomerName ending with «a»:

SELECT * FROM Customers
WHERE CustomerName LIKE ‘%a’;

The following SQL statement selects all customers with a CustomerName that
have «or» in any position:

SELECT * FROM Customers
WHERE CustomerName LIKE ‘%or%’;

The following SQL statement selects all customers with a CustomerName that
have «r» in the second position:

SELECT * FROM Customers
WHERE CustomerName LIKE ‘_r%’;

The following SQL statement selects all customers with a CustomerName that
starts with «a» and are at least 3 characters in length:

SELECT * FROM Customers
WHERE CustomerName LIKE ‘a__%’;

The following SQL statement selects all customers with a ContactName that
starts with «a» and ends with «o»:

SELECT * FROM Customers
WHERE ContactName LIKE ‘a%o’;

The following SQL statement selects all customers with a CustomerName that
does
NOT start with «a»:

Frequently Asked Questions

Question: How do you incorporate the Oracle UPPER function with the SQL LIKE condition? I’m trying to query against a free text field for all records containing the word «test». The problem is that it can be entered in the following ways: TEST, Test, or test.

Answer: To answer this question, let’s look at an example.

Let’s say that we have a suppliers table with a field called supplier_name that contains the values TEST, Test, or test.

If we wanted to find all records containing the word «test», regardless of whether it was stored as TEST, Test, or test, we could run either of the following SQL SELECT statements:

SELECT *
FROM suppliers
WHERE UPPER(supplier_name) LIKE ('TEST%');

OR

SELECT *
FROM suppliers
WHERE UPPER(supplier_name) LIKE UPPER('test%')

Как поставить длинное тире в Ворде — 6 способов

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

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

Из-за того, что знака «тире» нет на клавиатуре, многие пользователи вводят вместо него «дефис» или даже «минус», что вообще неправильно. «Минус» не должен использоваться в обычном тексте для разделения слов, это не математический пример или уравнение. Многие авторы используют совсем не те знаки, что положено делать, и даже не задумываются об этом.

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

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

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

Совпадение с шаблоном с использованием оператора LIKEPattern Matching by Using LIKE

Оператор LIKE поддерживает шаблоны в ASCII и Юникоде.LIKE supports ASCII pattern matching and Unicode pattern matching. Если все аргументы (match_expression, pattern и escape_character, если он указан) имеют символьный тип ASCII, то применяется шаблон ASCII.When all arguments (match_expression, pattern, and escape_character, if present) are ASCII character data types, ASCII pattern matching is performed. В случае, когда какой-либо из аргументов имеет тип данных Юникод, выполняется преобразование всех аргументов в Юникод и применяется шаблон Юникод.If any one of the arguments are of Unicode data type, all arguments are converted to Unicode and Unicode pattern matching is performed. Если вы используете оператор LIKE с типом данных Юникода (nchar или nvarchar), завершающие пробелы учитываются в отличие от других типов данных (не Юникода).When you use Unicode data (nchar or nvarchar data types) with LIKE, trailing blanks are significant; however, for non-Unicode data, trailing blanks aren’t significant. Работа оператора LIKE с данными в Юникоде совместима со стандартом ISO.Unicode LIKE is compatible with the ISO standard. Принцип работы оператора LIKE с данными ASCII совместим с более ранними версиями SQL ServerSQL Server.ASCII LIKE is compatible with earlier versions of SQL ServerSQL Server.

Приведенные ниже примеры поясняют различия между результатами сравнения данных с шаблонами оператора LIKE, представленными в Юникоде и ASCII.The following is a series of examples that show the differences in rows returned between ASCII and Unicode LIKE pattern matching.

Примечание

Операции сравнения с помощью оператора LIKE зависят от параметров сортировки.LIKE comparisons are affected by collation. Дополнительные сведения см. в разделе COLLATE (Transact-SQL).For more information, see COLLATE (Transact-SQL).

Применение предиката LIKE с простыми условиями

Часто с помощью предиката SQL LIKE найти нужную строку в текстовых значениях таблицы проще, чем с помощью оператора
равенства (=). Предикат LIKE используется в секции WHERE. После предиката прописывается выражение, содержащее
символы алфавита, а также специальные символы — знак процента (%) и подчёркивание (_).

  • Символ % соответствует любому количеству любых символов, а также их отсутствую.
  • Символ _ соответствует ровно одному любому символу.

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

  • ‘xyz%’ — любые строки, которые начинаются с букв xyz;
  • ‘xyz_’ — строка длиной в определённое количество символов, которая обязательно начинается с указанных букв;
  • ‘%z’ — любая последовательность символов, которая заканчивается символом z;
  • ‘%Word%’ — любая последовательность символов, содержащая слово ‘Word’ в любой позиции строки;
  • ‘% % %’ — строка, содержащая не менее двух пробелов.

Следует обратить внимание, что в этих выражениях Word — не то же самое, что word, так как регистр
символов имеет значение. В целом же синтаксис запросов с предикатом LIKE следующий:. SELECT СТОЛБЦЫ FROM ИМЯ_ТАБЛИЦЫ
WHERE ИМЯ_СТОЛБЦА LIKE ВЫРАЖЕНИЕ

SELECT СТОЛБЦЫ FROM ИМЯ_ТАБЛИЦЫ
WHERE ИМЯ_СТОЛБЦА LIKE ВЫРАЖЕНИЕ

В примерах будем работать с базой данных «Театр». Таблица Play содержит данные о постановках. Таблица Team —
о ролях актёров. Таблица Actor — об актёрах. Таблица Director — о режиссёрах. Поля таблиц, первичные
и внешние ключи можно увидеть на рисунке ниже (для увеличения нажать левой кнопкой мыши). Данные будем
извлекать из одной таблицы — Play.

Пример 1. Вывести спектакли, названия которых начинаются со
слова ‘King’.

Пишем запрос в котором с предикатом LIKE используем выражение ‘King%’:

SELECT Name FROM Play
WHERE Name LIKE ‘King%’

В результате выполнения запроса будет выведена таблица с одной строкой:

King Lear

Пример 2. Вывести спектакли, названия которых начинаются с
буквы ‘O’ и содержат 7 символов.

Пишем запрос в котором с предикатом LIKE используем выражение ‘O______’ (подчёркивание
проставлено 6 раз):

SELECT Name FROM Play
WHERE Name LIKE ‘O______’

В результате выполнения запроса будет выведена таблица с одной строкой:

Othello

Пример 3. Вывести спектакли, названия которых заканчиваются
буквой ‘a’.

Пишем запрос в котором с предикатом LIKE используем выражение ‘%a’ (подчёркивание
проставлено 6 раз):

SELECT Name FROM Play
WHERE Name LIKE ‘%a’

В результате выполнения запроса будет выведена таблица со следующими строками:

Matilda
Antony and Cleopatra

Можно увидеть и запрос, в котором вводится дополнительное условие: название
должно заканчиваться на ‘a’, но не на ‘ra’
.

Пример 4. Вывести спектакли, в названии которых содержится слово
«War», например, такие как «The War That Never Ends», «The Wars of the Roses», но не «Howards End».

Пишем запрос в котором с предикатом LIKE используем выражение ‘%War%’:

SELECT Name FROM Play
WHERE Name LIKE ‘%War%’

В результате выполнения запроса будет выведена таблица:

The Wars of the Roses
The War That Never Ends

Можно увидеть и запрос, в котором
вводится дополнительное условие: название должно содержать «War», но
не ‘Wars’
.

Пример 5. Вывести спектакли, в названиях которых содержится
не менее пяти пробелов.

Пишем запрос в котором с предикатом LIKE используем выражение ‘% % % % % %’:

SELECT Name FROM Play
WHERE Name LIKE ‘% % % % % %’

В результате выполнения запроса будет выведена таблица:

Jeeves and Wooster in Perfect Nonsense
All s Well That Ends Well
Morte d Arthur — Sir Thomas Malory

Можно увидеть и запрос, в котором
есть составное условие: название должно начинаться с «M» и содеражать тире (» — «)
.

Поделиться с друзьями

SQL Справочник

SQL Ключевые слова
ADD
ADD CONSTRAINT
ALTER
ALTER COLUMN
ALTER TABLE
ALL
AND
ANY
AS
ASC
BACKUP DATABASE
BETWEEN
CASE
CHECK
COLUMN
CONSTRAINT
CREATE
CREATE DATABASE
CREATE INDEX
CREATE OR REPLACE VIEW
CREATE TABLE
CREATE PROCEDURE
CREATE UNIQUE INDEX
CREATE VIEW
DATABASE
DEFAULT
DELETE
DESC
DISTINCT
DROP
DROP COLUMN
DROP CONSTRAINT
DROP DATABASE
DROP DEFAULT
DROP INDEX
DROP TABLE
DROP VIEW
EXEC
EXISTS
FOREIGN KEY
FROM
FULL OUTER JOIN
GROUP BY
HAVING
IN
INDEX
INNER JOIN
INSERT INTO
INSERT INTO SELECT
IS NULL
IS NOT NULL
JOIN
LEFT JOIN
LIKE
LIMIT
NOT
NOT NULL
OR
ORDER BY
OUTER JOIN
PRIMARY KEY
PROCEDURE
RIGHT JOIN
ROWNUM
SELECT
SELECT DISTINCT
SELECT INTO
SELECT TOP
SET
TABLE
TOP
TRUNCATE TABLE
UNION
UNION ALL
UNIQUE
UPDATE
VALUES
VIEW
WHERE

MySQL Функции
Функции строк
ASCII
CHAR_LENGTH
CHARACTER_LENGTH
CONCAT
CONCAT_WS
FIELD
FIND_IN_SET
FORMAT
INSERT
INSTR
LCASE
LEFT
LENGTH
LOCATE
LOWER
LPAD
LTRIM
MID
POSITION
REPEAT
REPLACE
REVERSE
RIGHT
RPAD
RTRIM
SPACE
STRCMP
SUBSTR
SUBSTRING
SUBSTRING_INDEX
TRIM
UCASE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATAN2
AVG
CEIL
CEILING
COS
COT
COUNT
DEGREES
DIV
EXP
FLOOR
GREATEST
LEAST
LN
LOG
LOG10
LOG2
MAX
MIN
MOD
PI
POW
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SUM
TAN
TRUNCATE
Функции дат
ADDDATE
ADDTIME
CURDATE
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
CURTIME
DATE
DATEDIFF
DATE_ADD
DATE_FORMAT
DATE_SUB
DAY
DAYNAME
DAYOFMONTH
DAYOFWEEK
DAYOFYEAR
EXTRACT
FROM_DAYS
HOUR
LAST_DAY
LOCALTIME
LOCALTIMESTAMP
MAKEDATE
MAKETIME
MICROSECOND
MINUTE
MONTH
MONTHNAME
NOW
PERIOD_ADD
PERIOD_DIFF
QUARTER
SECOND
SEC_TO_TIME
STR_TO_DATE
SUBDATE
SUBTIME
SYSDATE
TIME
TIME_FORMAT
TIME_TO_SEC
TIMEDIFF
TIMESTAMP
TO_DAYS
WEEK
WEEKDAY
WEEKOFYEAR
YEAR
YEARWEEK
Функции расширений
BIN
BINARY
CASE
CAST
COALESCE
CONNECTION_ID
CONV
CONVERT
CURRENT_USER
DATABASE
IF
IFNULL
ISNULL
LAST_INSERT_ID
NULLIF
SESSION_USER
SYSTEM_USER
USER
VERSION

SQL Server функции
Функции строк
ASCII
CHAR
CHARINDEX
CONCAT
Concat with +
CONCAT_WS
DATALENGTH
DIFFERENCE
FORMAT
LEFT
LEN
LOWER
LTRIM
NCHAR
PATINDEX
QUOTENAME
REPLACE
REPLICATE
REVERSE
RIGHT
RTRIM
SOUNDEX
SPACE
STR
STUFF
SUBSTRING
TRANSLATE
TRIM
UNICODE
UPPER
Функции чисел
ABS
ACOS
ASIN
ATAN
ATN2
AVG
CEILING
COUNT
COS
COT
DEGREES
EXP
FLOOR
LOG
LOG10
MAX
MIN
PI
POWER
RADIANS
RAND
ROUND
SIGN
SIN
SQRT
SQUARE
SUM
TAN
Функции дат
CURRENT_TIMESTAMP
DATEADD
DATEDIFF
DATEFROMPARTS
DATENAME
DATEPART
DAY
GETDATE
GETUTCDATE
ISDATE
MONTH
SYSDATETIME
YEAR
Функции расширений
CAST
COALESCE
CONVERT
CURRENT_USER
IIF
ISNULL
ISNUMERIC
NULLIF
SESSION_USER
SESSIONPROPERTY
SYSTEM_USER
USER_NAME

MS Access функции
Функции строк
Asc
Chr
Concat with &
CurDir
Format
InStr
InstrRev
LCase
Left
Len
LTrim
Mid
Replace
Right
RTrim
Space
Split
Str
StrComp
StrConv
StrReverse
Trim
UCase
Функции чисел
Abs
Atn
Avg
Cos
Count
Exp
Fix
Format
Int
Max
Min
Randomize
Rnd
Round
Sgn
Sqr
Sum
Val
Функции дат
Date
DateAdd
DateDiff
DatePart
DateSerial
DateValue
Day
Format
Hour
Minute
Month
MonthName
Now
Second
Time
TimeSerial
TimeValue
Weekday
WeekdayName
Year
Другие функции
CurrentUser
Environ
IsDate
IsNull
IsNumeric

SQL ОператорыSQL Типы данныхSQL Краткий справочник

Example — Using Escape Characters with the LIKE Condition

It is important to understand how to «Escape Characters» when pattern matching. You can escape or and search for the literal versions instead.

Let’s say you wanted to search for as a literal in the LIKE condition. You can do this using an Escape character. In our example, we will use as the escape character in the LIKE condition.

NOTE: You can only define an escape character as a single character. It is best to choose a character that will not appear in your data very often such as ! or #.

In this example, we a table called test with the following data:

test_id test_value
1 10%
2 25%
3 100
4 99

We could return all records from the test table where the test_value contains the literal. Enter the following SQL statement:

SELECT *
FROM test
WHERE test_value LIKE '%!%%' escape '!';

These are the results that you should see:

test_id test_value
1 10%
2 25%

This example identifies the character as an escape character. The first and last values in the LIKE condition are treated as regular wildcards. The is an escaped so it is treated as a literal value.

You could further modify the above example and only return test_values that start with 1 and contain the literal. Enter the following SQL statement:

SELECT *
FROM test
WHERE test_value LIKE '1%!%%' escape '!';

These are the results that you should see:

test_id test_value
1 10%

Решения

MySQL

MySQL функция IFNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:

SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;

или мы можем использовать функцию COALESCE(), например:

SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;

SQL Server

SQL Server функция ISNULL() позволяет возвращать альтернативное значение, если выражение равно нулю:

SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products;

MS Access

MS Access функция IsNull() возвращает TRUE (-1), если выражение имеет нулевое значение, в противном случае FALSE (0):

SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;

Oracle

Oracle функция NVL() достигает того же результата:

SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products;

Перенос файлов на карту

Внешнюю карту можно использовать, как накопитель. Ее объем должен быть больше, чем количество памяти на самом Андроиде. Для того, чтобы перенести файлы в это устройство и увеличить память телефона, необходимо его отформатировать.

Пошаговая инструкция по переносу файлов на SD карту:

  1. Вставить внешнюю карту в телефон.
  2. Открыть «Настройки». В нем выбрать пункт «Хранилище».
  3. В нем кликнуть по кнопке SD карта.
  4. Нажать на вертикальное троеточие в правом верхнем углу. Выбрать настройки хранилища.
  5. Кликнуть по кнопке «Внутренняя память». Затем нажать «Форматировать».
  6. Теперь перезагрузить устройство и после его включения выбрать «Галерея». Кликнуть по необходимым файлам и выбрать опцию «переместить или копировать». Затем выбрать устройство SD card.
  7. Открыть карту и вставить в нее скопированные файлы.
Добавить комментарий

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

Adblock
detector