Ntile (transact-sql)ntile (transact-sql)
Содержание:
- MySQL Advanced Functions
- SQL References
- Пример — использование IS NULL с оператором DELETE
- SQL Справочник
- Функции CASE и IIF
- Функции SQL Server, представленные в SMOSQL Server Features Represented in SMO
- Функции CASE, IF, IFNULL, COALESCE
- Операторы фильтрации
- Как узнать лимит по кредитной карте Тинькофф?
- Факторы, влияющие на размер первоначального лимита
- SQL CREATE INDEX
- 範例:Azure Synapse AnalyticsAzure Synapse Analytics 和 平行處理資料倉儲Parallel Data WarehouseExamples: Azure Synapse AnalyticsAzure Synapse Analytics and 平行處理資料倉儲Parallel Data Warehouse
- MySQL Numeric Functions
- Выражение CASE – условный оператор языка SQL
- 備註Remarks
MySQL Advanced Functions
Function | Description |
---|---|
BIN | Returns a binary representation of a number |
BINARY | Converts a value to a binary string |
CASE | Goes through conditions and return a value when the first condition is met |
CAST | Converts a value (of any type) into a specified datatype |
COALESCE | Returns the first non-null value in a list |
CONNECTION_ID | Returns the unique connection ID for the current connection |
CONV | Converts a number from one numeric base system to another |
CONVERT | Converts a value into the specified datatype or character set |
CURRENT_USER | Returns the user name and host name for the MySQL account that the server used to authenticate the current client |
DATABASE | Returns the name of the current database |
IF | Returns a value if a condition is TRUE, or another value if a condition is FALSE |
IFNULL | Return a specified value if the expression is NULL, otherwise return the expression |
ISNULL | Returns 1 or 0 depending on whether an expression is NULL |
LAST_INSERT_ID | Returns the AUTO_INCREMENT id of the last row that has been inserted or updated in a table |
NULLIF | Compares two expressions and returns NULL if they are equal. Otherwise, the first expression is returned |
SESSION_USER | Returns the current MySQL user name and host name |
SYSTEM_USER | Returns the current MySQL user name and host name |
USER | Returns the current MySQL user name and host name |
VERSION | Returns the current version of the MySQL database |
❮ Previous
Next ❯
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
Пример — использование IS NULL с оператором DELETE
Далее давайте рассмотрим пример использования условия IS NULL в операторе DELETE. В этом примере у нас есть таблица orders со следующими данными:
order_id | customer_id | order_date |
---|---|---|
1 | 7000 | 2019/06/18 |
2 | 5000 | 2019/06/18 |
3 | 8000 | 2019/06/19 |
4 | 4000 | 2019/06/20 |
5 | NULL | 2019/07/01 |
Введите следующий оператор DELETE:
PgSQL
DELETE FROM orders
WHERE customer_id IS NULL;
1 2 |
DELETEFROMorders WHEREcustomer_idISNULL; |
Будет удалена 1 запись. Снова выберите данные из таблицы orders:
PgSQL
SELECT *
FROM orders;
1 2 |
SELECT* FROMorders; |
Вот результаты, которые вы получите:
order_id | customer_id | order_date |
---|---|---|
1 | 7000 | 2019/06/18 |
2 | 5000 | 2019/06/18 |
3 | 8000 | 2019/06/19 |
4 | 4000 | 2019/06/20 |
В этом примере будут удалены все записи из таблицы orders, где customer_id содержит значение NULL. Как вы можете видеть, запрос удалил запись для order_id = 5.
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 Краткий справочник
Функции CASE и IIF
Последнее обновление: 29.07.2017
CASE
Функция CASE проверяет значение некоторого выражение, и в зависимости от результата проверки может возвращать тот или иной результат.
CASE принимает следующую форму:
CASE выражение WHEN значение_1 THEN результат_1 WHEN значение_2 THEN результат_2 ................................. WHEN значение_N THEN результат_N END
Возьмем для примера следующую таблицу Products:
CREATE TABLE Products ( Id INT IDENTITY PRIMARY KEY, ProductName NVARCHAR(30) NOT NULL, Manufacturer NVARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price MONEY NOT NULL );
Выполним запрос к этой таблице и используем функцию CASE:
SELECT ProductName, Manufacturer, CASE ProductCount WHEN 1 THEN 'Товар заканчивается' WHEN 2 THEN 'Мало товара' WHEN 3 THEN 'Есть в наличии' ELSE 'Много товара' END AS EvaluateCount FROM Products
Здесь значения столбца ProductCount последовательно сравнивается со значениями после операторов WHEN. В
зависимости от значения столбца ProductCount функция CASE будет возвращать одну из строк, которая идет после соответствующего оператора THEN.
Для возвращаемого результата определен столбец EvaluateCount:
Также функция CASE может принимать еще одну форму:
CASE WHEN выражение_1 THEN результат_1 WHEN выражение_2 THEN результат_2 ................................. WHEN выражение_N THEN результат_N END
Например, применительно к таблице Products:
SELECT ProductName, Manufacturer, CASE WHEN Price > 50000 THEN 'Категория A' WHEN Price BETWEEN 40000 AND 50000 THEN 'Категория B' WHEN Price BETWEEN 30000 AND 40000 THEN 'Категория C' ELSE 'Категория D' END AS Category FROM Products
Фактически все то же самое, что и в предыдущем примере, только после CASE не указывается сравниваемое значение.
А сами выражения сравнения стоят после оператора WHEN. И если выражение после оператора WHEN будет истинно, то возвращается значение, которое идет после соответствующего оператора THEN.
IIF
Функция IIF в зависимости от результата условного выражения возвращает одно из двух значений. Общая форма функции выглядит следующим образом:
IIF(условие, значение_1, значение_2)
Если условие в функции IIF истинно то возвращается значение_1, если ложно, то возвращается значение_2. Например:
SELECT ProductName, Manufacturer, IIF(ProductCount>3, 'Много товара', 'Мало товара') FROM Products
НазадВперед
Функции SQL Server, представленные в SMOSQL Server Features Represented in SMO
Секционирование таблиц и индексовTable and Index Partitioning
Секционирование таблицы индексов дает возможность управлять распределением данных в таблицах и индексах по файловым группам.Index Table Partitioning lets you manage the spread of data in tables and indexes across file groups. Эта новая функция представлена в объектах SMO.This new feature is represented by SMO objects.
КонечEndPoints
Запросы SOAP, а также запросы на зеркальное отображение баз данных обрабатываются конечными точками с использованием объекта Endpoint.SOAP and database mirroring requests are handled by endpoints using the Endpoint object.
Уровень изоляции моментального снимка / управление версиями на уровне строкSnapshot Isolation/Row Level Versioning
Уровень изоляции моментального снимка (управление версиями на уровне строк) представлены свойствами нового объекта Database.Snapshot Isolation (row level versioning) is represented by new Database object properties.
Пространство имен схемы XML, XML-индексы и тип данных XMLXML Schema Namespace, XML Indexes and XML datatype
Пространства имен схемы XML представлены в модели объектов SMO коллекцией объектов.XML Schema Namespaces are represented in SMO by a collection of objects. XML-индексы представлены в модели SMO свойством объекта Index .XML indexes are represented in SMO by an Index object property.
Расширенные возможности полнотекстового поискаFull-Text Search Enhancements
В модели объектов SMO реализованы новые объекты, представляющие расширенные возможности полнотекстового поиска.New objects are provided in SMO that represent the enhancements to full text search.
Проверка страницPage Verify
Объект PageVerify представляет параметры проверки страниц баз данных.The PageVerify object represents database page verify options.
Базы данных моментальных снимковSnapshot Databases
База данных моментальных снимков — это предназначенная только для чтения копия указанной базы данных, снятая в указанный момент времени.A snapshot database is a read-only copy of a specified database as a specific point in time. База данных моментальных снимков может быть определена с помощью свойства IsDatabaseSnapshot объекта Database.A snapshot database can be specified by using the IsDatabaseSnapshot property of the Database object.
Service BrokerService Broker
Компонент Компонент Service BrokerService Broker и его функциональные возможности представлены группой объектовКомпонент Service BrokerService Broker and its functionality is represented by a group of objects
Улучшенные возможности индексовIndex Enhancements
Улучшенные возможности индексов SQL ServerSQL Server представлены новыми свойствами объекта Index.SQL ServerSQL Server index enhancements are represented by new properties in the Index object.
Функции CASE, IF, IFNULL, COALESCE
Последнее обновление: 26.05.2018
CASE
Функция CASE проверяет истинность набора условий и в зависимости от результата проверки может возвращать тот или иной результат.
Эта функция принимает следующую форму:
CASE WHEN условие_1 THEN результат_1 WHEN условие_2 THEN результат_2 ................................. WHEN условие_N THEN условие_N END
Возьмем для примера следующую таблицу Products:
CREATE TABLE Products ( Id INT AUTO_INCREMENT PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price DECIMAL NOT NULL );
Выполним запрос к этой таблице и используем функцию CASE:
SELECT ProductName, ProductCount, CASE WHEN ProductCount = 1 THEN 'Товар заканчивается' WHEN ProductCount = 2 THEN 'Мало товара' WHEN ProductCount = 3 THEN 'Есть в наличии' ELSE 'Много товара' END AS Category FROM Products;
Функция IF
Функция IF в зависимости от результата условного выражения возвращает одно из двух значений. Общая форма функции выглядит
следующим образом:
IF(условие, значение_1, значение_2)
Если условие, передаваемое в качестве первого параметра, верно, то возвращается первое значение, иначе возвращается второе значение. Например:
SELECT ProductName, Manufacturer, IF(ProductCount > 3, 'Много товара', 'Мало товара') FROM Products;
IFNULL
Функция IFNULL проверяет значение некоторого выражения. Если оно равно NULL, то функция возвращает значение, которое передается в
качестве второго параметра:
IFNULL(выражение, значение)
Например, возьмем следующую таблицу
CREATE TABLE Clients ( Id INT AUTO_INCREMENT PRIMARY KEY, FirstName VARCHAR(20) NOT NULL, LastName VARCHAR(20) NOT NULL, Phone VARCHAR(20) NULL, Email VARCHAR(20) NULL ); INSERT INTO Clients (FirstName, LastName, Phone, Email) VALUES ('Tom', 'Smith', '+36436734', NULL), ('Bob', 'Simpson', NULL, NULL);
И применим при получении данных функцию IFNULL:
SELECT FirstName, LastName, IFNULL(Phone, 'не определено') AS Phone, IFNULL(Email, 'неизвестно') AS Email FROM Clients;
COALESCE
Функция COALESCE принимает список значений и возвращает первое из них, которое не равно NULL:
COALESCE(выражение_1, выражение_2, выражение_N)
Например, выберем из таблицы Clients пользователей и в контактах у них определим либо телефон, либо электронный адрес, если они не равны NULL:
SELECT FirstName, LastName, COALESCE(Phone, Email, 'не определено') AS Contacts FROM Clients;
То есть в данном случае возвращается телефон, если он определен. Если он не определен, то возвращается электронный адрес. Если и электронный адрес не определен, то возвращается строка «не определено».
Назад
Операторы фильтрации
Последнее обновление: 13.07.2017
Оператор IN
Оператор IN позволяет определить набор значений, которые должны иметь столбцы:
WHERE выражение IN (выражение)
Выражение в скобках после IN определяет набор значений. Этот набор может вычисляться динамически на основании, например, еще одного запроса, либо это могут быть константные значения.
Например, выберем товары, у которых производитель либо Samsung, либо Xiaomi, либо Huawei:
SELECT * FROM Products WHERE Manufacturer IN ('Samsung', 'Xiaomi', 'Huawei')
Мы могли бы все эти значения проверить и через оператор OR:
SELECT * FROM Products WHERE Manufacturer = 'Samsung' OR Manufacturer = 'Xiaomi' OR Manufacturer = 'Huawei'
Но использование оператора IN гораздо удобнее, особенно если подобных значений очень много.
С помощью оператора NOT можно найти все строки, которые, наоборот, не соответствуют набору значений:
SELECT * FROM Products WHERE Manufacturer NOT IN ('Samsung', 'Xiaomi', 'Huawei')
Оператор BETWEEN
Оператор BETWEEN определяет диапазон значений с помощью начального и конечного значения, которому должно соответствовать
выражение:
WHERE выражение BETWEEN начальное_значение AND конечное_значение
Например, получим все товары, у которых цена от 20 000 до 40 000 (начальное и конечное значения также включаются в диапазон):
SELECT * FROM Products WHERE Price BETWEEN 20000 AND 40000
Если надо, наоборот, выбрать те строки, которые не попадают в данный диапазон, то применяется оператор NOT:
SELECT * FROM Products WHERE Price NOT BETWEEN 20000 AND 40000
Также можно использовать более сложные выражения. Например, получим товары, запасы которых на определенную сумму (цена * количество):
SELECT * FROM Products WHERE Price * ProductCount BETWEEN 100000 AND 200000
Оператор LIKE
Оператор LIKE принимает шаблон строки, которому должно соответствовать выражение.
WHERE выражение LIKE шаблон_строки
Для определения шаблона могут применяться ряд специальных символов подстановки:
-
%: соответствует любой подстроке, которая может иметь любое количество символов, при этом подстрока может и не содержать ни одного символа
-
_: соответствует любому одиночному символу
-
: соответствует одному символу, который указан в квадратных скобках
-
: соответствует одному символу из определенного диапазона
-
: соответствует одному символу, который не указан после символа ^
Некоторые примеры использования подстановок:
-
Соответствует таким значениям как «Galaxy Ace 2» или «Galaxy S7»
-
Соответствует таким значениям как «Galaxy S7» или «Galaxy S8»
-
Соответствует таким значениям как «iPhone 7» или «iPhone8»
-
Соответствует таким значениям как «iPhone 6», «iPhone 7» или «iPhone8»
-
Соответствует таким значениям как «iPhone 6», «iPhone 6S» или «iPhone8». Но не соответствует значениям «iPhone 7» и «iPhone 7S»
-
Соответствует таким значениям как «iPhone 7», «iPhone 7S» и «iPhone 8». Но не соответствует значениям «iPhone 5», «iPhone 6» и «iPhone 6S»
Применим оператор LIKE:
SELECT * FROM Products WHERE ProductName LIKE 'iPhone %'
НазадВперед
Как узнать лимит по кредитной карте Тинькофф?
Факторы, влияющие на размер первоначального лимита
Лимит, который банк устанавливает новому клиенту, редко превышает 5 заработных платГлавный фактор, влияющий на размер первоначального кредитного лимита на карте «Тинькофф Платинум» и любой другой – платежеспособность клиента. Также положительно скажется на решении банка стабильная работа на одном месте в течение хотя бы нескольких месяцев.
Помимо этого, факторами может быть отсутствие кредитов в других банках и любое ценное имущество, особенно, недвижимость. Чем меньше кредитов, тем меньше и вероятность задержки выплат. Но нефинансовые характеристики тоже оцениваются, например, возраст или социальное положение.
SQL CREATE INDEX
Команда используется для создания индексов в таблицах (позволяет дублировать значения).
Индексы используются для быстрого извлечения данных из базы данных.
Пользователи не могут видеть индексы, они просто используются для ускорения поиска/запросов.
Следующий SQL создает индекс с именем «idx_lastname» в столбце «LastName» таблицы «Persons»:
CREATE INDEX idx_lastname
ON Persons (LastName);
Если вы хотите создать индекс для комбинации столбцов, вы можете перечислить имена столбцов в круглых скобках, разделенных запятыми:
CREATE INDEX idx_pname
ON Persons (LastName, FirstName);
Примечание: Синтаксис для создания индексов различается в разных базах данных.
Поэтому: проверьте синтаксис для создания индексов в вашей базе данных.
Примечание: Обновление таблицы с индексами занимает больше времени,
чем обновление таблицы без них (поскольку индексы также нуждаются в обновлении).
Поэтому создавайте индексы только для тех столбцов, по которым будет часто выполняться поиск.
範例:Azure Synapse AnalyticsAzure Synapse Analytics 和 平行處理資料倉儲Parallel Data WarehouseExamples: Azure Synapse AnalyticsAzure Synapse Analytics and 平行處理資料倉儲Parallel Data Warehouse
D.D. 使用 ISNULL 搭配 AVGUsing ISNULL with AVG
下列範例會尋找範例資料表中所有產品的加權平均值。The following example finds the average of the weight of all products in a sample table. 它會在 資料表的 資料行中,用值 來取代所有 NULL 項目。It substitutes the value for all NULL entries in the column of the table.
以下為結果集。Here is the result set.
E.E. 使用 ISNULLUsing ISNULL
下列範例會使用 ISNULL 來在 資料行中測試 NULL 值,然後為那些資料列顯示 值。The following example uses ISNULL to test for NULL values in the column and display the value for those rows.
以下為部分結果集。Here is a partial result set.
ResellerNameResellerName | MinimumPaymentMinimumPayment |
---|---|
A Bicycle AssociationA Bicycle Association | 0.00000.0000 |
A Bike StoreA Bike Store | 0.00000.0000 |
A Cycle ShopA Cycle Shop | 0.00000.0000 |
A Great Bicycle CompanyA Great Bicycle Company | 0.00000.0000 |
A Typical Bike ShopA Typical Bike Shop | 200.0000200.0000 |
Acceptable Sales & ServiceAcceptable Sales & Service | 0.00000.0000 |
F.F. 使用 IS NULL 來在 WHERE 子句中測試 NULLUsing IS NULL to test for NULL in a WHERE clause
下列範例會尋找 資料行中有 的所有產品。The following example finds all products that have in the column. 請注意 和 之間的空格。Note the space between and .
MySQL Numeric Functions
Function | Description |
---|---|
ABS | Returns the absolute value of a number |
ACOS | Returns the arc cosine of a number |
ASIN | Returns the arc sine of a number |
ATAN | Returns the arc tangent of one or two numbers |
ATAN2 | Returns the arc tangent of two numbers |
AVG | Returns the average value of an expression |
CEIL | Returns the smallest integer value that is >= to a number |
CEILING | Returns the smallest integer value that is >= to a number |
COS | Returns the cosine of a number |
COT | Returns the cotangent of a number |
COUNT | Returns the number of records returned by a select query |
DEGREES | Converts a value in radians to degrees |
DIV | Used for integer division |
EXP | Returns e raised to the power of a specified number |
FLOOR | Returns the largest integer value that is <= to a number |
GREATEST | Returns the greatest value of the list of arguments |
LEAST | Returns the smallest value of the list of arguments |
LN | Returns the natural logarithm of a number |
LOG | Returns the natural logarithm of a number, or the logarithm of a number to a specified base |
LOG10 | Returns the natural logarithm of a number to base 10 |
LOG2 | Returns the natural logarithm of a number to base 2 |
MAX | Returns the maximum value in a set of values |
MIN | Returns the minimum value in a set of values |
MOD | Returns the remainder of a number divided by another number |
PI | Returns the value of PI |
POW | Returns the value of a number raised to the power of another number |
POWER | Returns the value of a number raised to the power of another number |
RADIANS | Converts a degree value into radians |
RAND | Returns a random number |
ROUND | Rounds a number to a specified number of decimal places |
SIGN | Returns the sign of a number |
SIN | Returns the sine of a number |
SQRT | Returns the square root of a number |
SUM | Calculates the sum of a set of values |
TAN | Returns the tangent of a number |
TRUNCATE | Truncates a number to the specified number of decimal places |
Выражение CASE – условный оператор языка SQL
Первая форма: | Вторая форма: |
---|---|
CASE WHEN условие_1 THEN возвращаемое_значение_1 … WHEN условие_N THEN возвращаемое_значение_N END |
CASE проверяемое_значение WHEN сравниваемое_значение_1 THEN возвращаемое_значение_1 … WHEN сравниваемое_значение_N THEN возвращаемое_значение_N END |
Разберем на примере первую форму CASE:
ID | Name | Salary | SalaryTypeWithELSE | SalaryTypeWithoutELSE |
---|---|---|---|---|
1000 | Иванов И.И. | 5000 | ЗП >= 3000 | ЗП >= 3000 |
1001 | Петров П.П. | 1500 | ЗП < 2000 | NULL |
1002 | Сидоров С.С. | 2500 | 2000 <= ЗП < 3000 | 2000 <= ЗП < 3000 |
1003 | Андреев А.А. | 2000 | 2000 <= ЗП < 3000 | 2000 <= ЗП < 3000 |
1004 | Николаев Н.Н. | 1500 | ЗП < 2000 | NULL |
1005 | Александров А.А. | 2000 | 2000 <= ЗП < 3000 | 2000 <= ЗП < 3000 |
Разберем на примере вторую форму CASE:
- Сотрудникам ИТ-отдела выдать по 15% от ЗП;
- Сотрудникам Бухгалтерии по 10% от ЗП;
- Всем остальным по 5% от ЗП.
ID | Name | Salary | DepartmentID | NewYearBonusPercent | BonusAmount |
---|---|---|---|---|---|
1000 | Иванов И.И. | 5000 | 1 | 5% | 250 |
1001 | Петров П.П. | 1500 | 3 | 15% | 225 |
1002 | Сидоров С.С. | 2500 | 2 | 10% | 250 |
1003 | Андреев А.А. | 2000 | 3 | 15% | 300 |
1004 | Николаев Н.Н. | 1500 | 3 | 15% | 225 |
1005 | Александров А.А. | 2000 | NULL | 5% | 100 |
- Первым делом ЗП должны получить сотрудники у кого оклад меньше 2500
- Те сотрудники у кого оклад больше или равен 2500, получают ЗП во вторую очередь
- Внутри этих двух групп нужно упорядочить строки по ФИО (поле Name)
ID | Name | Salary |
---|---|---|
1005 | Александров А.А. | 2000 |
1003 | Андреев А.А. | 2000 |
1004 | Николаев Н.Н. | 1500 |
1001 | Петров П.П. | 1500 |
1000 | Иванов И.И. | 5000 |
1002 | Сидоров С.С. | 2500 |
ID | Name | Salary | DepartmentID | NewYearBonusPercent1 | NewYearBonusPercent2 |
---|---|---|---|---|---|
1000 | Иванов И.И. | 5000 | 1 | 5% | 5% |
1001 | Петров П.П. | 1500 | 3 | 15% | 15% |
1002 | Сидоров С.С. | 2500 | 2 | 10% | 10% |
1003 | Андреев А.А. | 2000 | 3 | 15% | 15% |
1004 | Николаев Н.Н. | 1500 | 3 | 15% | 15% |
1005 | Александров А.А. | 2000 | NULL | — | 5% |
備註Remarks
如果 check_expression 的值不是 NULL,則會傳回該值;否則會在其隱含轉換成 check_expression 的類型後傳回 replacement_value (若兩者類型不同的話)。The value of check_expression is returned if it is not NULL; otherwise, replacement_value is returned after it is implicitly converted to the type of check_expression, if the types are different. 若 replacement_value 的長度超過 check_expression,則 replacement_value 可能會被截斷。replacement_value can be truncated if replacement_value is longer than check_expression.
注意
使用 COALESCE (Transact-SQL) 來傳回第一個不是 NULL 的值。Use COALESCE (Transact-SQL) to return the first non-null value.