Ntile (transact-sql)ntile (transact-sql)

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.

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

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

Adblock
detector