Функция mysql ifnull

Пример — использование IS NOT 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 NOT NULL;

1
2

DELETEFROMorders

WHEREcustomer_idISNOT NULL;

Будет удалено 4 записи. Снова выберите данные из таблицы orders:

PgSQL

SELECT *
FROM orders;

1
2

SELECT*

FROMorders;

Вот результаты, которые вы получите:

order_id customer_id order_date
5 NULL 2019/07/01

В этом примере будут удалены все записи из таблицы orders, где customer_id не содержит значения NULL.

Решения

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;

Преимущества и недостатки

Преимущества

Независимость от конкретной СУБД

Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle Database, так и с Microsoft SQL Server и DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.

Наличие стандартов

Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка

Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах (например, базовая часть стандарта SQL:2003 состоит из более чем 1300 страниц текста).

Декларативность

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

Недостатки

Несоответствие реляционной модели данных

Создатели реляционной модели данных Эдгар Кодд, Кристофер Дейт и их сторонники указывают на то, что SQL не является истинно реляционным языком. В частности, они указывают на следующие дефекты SQL с точки зрения реляционной теории:

  • SQL разрешает в таблицах строки-дубликаты, что в рамках реляционной модели данных невозможно и недопустимо;
  • SQL поддерживает неопределённые значения (NULL) и многозначную логику;
  • SQL использует порядок колонок и ссылки на колонки по номерам;
  • SQL разрешает колонки без имени и дублирующиеся имена колонок.

В опубликованном Кристофером Дейтом и Хью Дарвеном Третьем манифесте они излагают принципы СУБД следующего поколения и предлагают язык Tutorial D, который является подлинно реляционным.

Сложность

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

Отступления от стандартов

Несмотря на наличие международного стандарта ANSI SQL-92, многие разработчики СУБД вносят изменения в язык SQL, применяемый в разрабатываемой СУБД, тем самым отступая от стандарта. Таким образом появляются специфичные для каждой конкретной СУБД диалекты языка SQL.

Сложность работы с иерархическими структурами

Ранее диалекты SQL большинства СУБД не предлагали способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения (например, в Oracle Database используется выражение CONNECT BY). В настоящее время в ANSI стандартизована рекурсивная конструкция WITH из диалекта SQL DB2. В Microsoft SQL Server рекурсивные запросы (Recursive Common Table Expressions) появились лишь в версии 2005.

Символьные функции в языке sql

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

integer ASCII(str string)

Функция возвращает целое значение — ASCII-код первого левого символа строки str. В случае если строка str пустая возвращает 0 и NULL если строка str не существует.

Пример:

SELECT ASCII (‘t’);
Результат: 116
SELECT ASCII (‘test’);
Результат: 116
SELECT ASCII (1);
Результат: 49

Далее функция ORD, которая также определяет ASCII- код символов, но может обрабатывать также многобайтовые символы:

integer ORD(str string)

Если первый левый символ строки str многобайтовый, то возвращает его код в формате: ((первый байт ASCII- код)*256+(второй байт ASCII -код)). В случае если первый левый символ строки str не является многобайтовым, работает как функция ASCII — возвращает его ASCII-код.

Пример:

SELECT ORD (‘test’);
Результат: 116

Функция CHAR, тесно связанная с функцией ASCII и выполняет обратное действие:

string CHAR(int integer, …)

Функция CHAR возвращает строку символов по их ASCII-кодам. Если среди значений встречается значение NULL, то оно пропускается.

Пример:

SELECT CHAR ( 116, ‘101’, 115, ‘116’ );
Результат: ‘test’

SQL ISNULL function Examples

Simple String Evaluation example

In above query we used SQL ISNULL function to check given first argument expression is NULL or not, it starts evolution from first argument which is NULL so it checks for second argument that is a string ‘Hello’ so it will return ‘Hello’ as a replacement Value

Advertisement

OUTPUT:

SQL ISNULL function example with Integer arguments

In successive query also we apply SQL ISNULL function to check for NULLABLE value in first parameter which is NULL so it will return second parameter integer value of 100 as result

OUTPUT:

SQL ISNULL function example with NULL as Second Argument

In Previous query SQL ISNULL function is used to test NULL value in first argument, Having NULL value as second argument do not affect result, it will return value of first argument as ‘SQL functions’

OUTPUT:

SQL ISNULL function examples with column name as argument

Consider school database with two tables for examples of SQL ISNULL function

Advertisement

Result Table

Use SQL ISNULL function to check city column values for all students, if it is NULL than replace it with ‘Surat’

In above SQL query checks city column value using ISNULL function for NULL, and replace it with Surat.

OUTPUT:

MySQL Date Functions

Function Description
ADDDATE Adds a time/date interval to a date and then returns the date
ADDTIME Adds a time interval to a time/datetime and then returns the time/datetime
CURDATE Returns the current date
CURRENT_DATE Returns the current date
CURRENT_TIME Returns the current time
CURRENT_TIMESTAMP Returns the current date and time
CURTIME Returns the current time
DATE Extracts the date part from a datetime expression
DATEDIFF Returns the number of days between two date values
DATE_ADD Adds a time/date interval to a date and then returns the date
DATE_FORMAT Formats a date
DATE_SUB Subtracts a time/date interval from a date and then returns the date
DAY Returns the day of the month for a given date
DAYNAME Returns the weekday name for a given date
DAYOFMONTH Returns the day of the month for a given date
DAYOFWEEK Returns the weekday index for a given date
DAYOFYEAR Returns the day of the year for a given date
EXTRACT Extracts a part from a given date
FROM_DAYS Returns a date from a numeric datevalue
HOUR Returns the hour part for a given date
LAST_DAY Extracts the last day of the month for a given date
LOCALTIME Returns the current date and time
LOCALTIMESTAMP Returns the current date and time
MAKEDATE Creates and returns a date based on a year and a number of days value
MAKETIME Creates and returns a time based on an hour, minute, and second value
MICROSECOND Returns the microsecond part of a time/datetime
MINUTE Returns the minute part of a time/datetime
MONTH Returns the month part for a given date
MONTHNAME Returns the name of the month for a given date
NOW Returns the current date and time
PERIOD_ADD Adds a specified number of months to a period
PERIOD_DIFF Returns the difference between two periods
QUARTER Returns the quarter of the year for a given date value
SECOND Returns the seconds part of a time/datetime
SEC_TO_TIME Returns a time value based on the specified seconds
STR_TO_DATE Returns a date based on a string and a format
SUBDATE Subtracts a time/date interval from a date and then returns the date
SUBTIME Subtracts a time interval from a datetime and then returns the time/datetime
SYSDATE Returns the current date and time
TIME Extracts the time part from a given time/datetime
TIME_FORMAT Formats a time by a specified format
TIME_TO_SEC Converts a time value into seconds
TIMEDIFF Returns the difference between two time/datetime expressions
TIMESTAMP Returns a datetime value based on a date or datetime value
TO_DAYS Returns the number of days between a date and date «0000-00-00»
WEEK Returns the week number for a given date
WEEKDAY Returns the weekday number for a given date
WEEKOFYEAR Returns the week number for a given date
YEAR Returns the year part for a given date
YEARWEEK Returns the year and week number for a given date

Создание, запуск и удаление простой процедуры

Для создания простой процедуры в клиенте mysql.exe можно выполнить следующие операторы:

DELIMITER //
CREATE PROCEDURE Hello_World()
BEGIN
SELECT('Hello, world!');
END
//

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

Во второй строке следует оператор создания процедуры CREATE PROCEDURE, после которого указывается имя процедуры. Создаваемая процедура не имеет параметров, поэтому скобки после имени процедуры – пустые.

Далее следует конструкция BEGIN .. END, в которую должны быть заключены все операторы процедуры. Операторы разделяются символом точка с запятой.

Для запуска процедуры на выполнение можно использовать команду CALL:

CALL Hello_World;

Для удаления процедуры можно использовать команду DROP PROCEDURE:

DROP PROCEDURE Hello_World;

Функция mysqli connect: соединение с MySQL

Перед началом работы с данными внутри MySQL, нужно открыть соединение с сервером СУБД.
В PHP это делается с помощью стандартной функции . Функция возвращает результат — ресурс соединения. Данный ресурс используется для всех следующих операций с MySQL.

Но чтобы выполнить соединение с сервером, необходимо знать как минимум три параметра:

  • Адрес сервера СУБД;
  • Логин;
  • Пароль.

Если вы следовали стандартной процедуре установки MySQL или используете OpenServer, то адресом сервера будет , логином — . При использовании OpenServer пароль для подключения — это пустая строка ‘’, а при самостоятельной установке MySQL пароль вы задавали в одном из шагов мастера установки.

Базовый синтаксис функции :

Проверка соединения

Первое, что нужно сделать после соединения с СУБД — это выполнить проверку, что оно было успешным.
Эта проверка нужна, чтобы исключить ошибку при подключении к БД. Неверные параметры подключения, неправильная настройка или высокая нагрузка заставит MySQL отвеграть новые подключения. Все эти ситуации приведут к невозможности соединения, поэтому программист должен проверить успешность подключения к серверу, прежде чем выполнять следующие действия.

Соединение с MySQL устанавливается один раз в сценарии, а затем используется при всех запросах к БД.
Результатом выполнения функции будет значение специального типа — ресурс.
Если подключение к MySQL не удалось, то функция вместо ресурса вернет логическое значение типа «ложь» — .
Хорошей практикой будет всегда проверять значение результа выполнения этой функции и сравнивать его с ложью.

Соединение с MySQL и проверка на ошибки:

Функция просто возвращает текстовое описание последней ошибки MySQL.

Установка кодировки

Первым делом после установки соединения крайне желательно явно задать кодировку, которая будет использоваться при обмене данными с MySQL. Если этого не сделать, то вместо записей со значениями, написанными кириллицей, можно получить последовательность из знаков вопроса: ‘?????????????????’.
Вызови эту функцию сразу после успешной установки соединения:

SQL Server ISNULL Function overview

We can replace NULL values with a specific value using the SQL Server ISNULL Function. The syntax for the SQL ISNULL function is as follow.

SQL Server ISNULL (expression, replacement)

  • Expression: In this parameter, we specify the expression in which we need to check NULL values
  • Replacement: We want to replace the NULL with a specific value. We need to specify replacement value here

The SQL Server ISNULL function returns the replacement value if the first parameter expression evaluates to NULL. SQL Server converts the data type of replacement to data type of expression. Let’s explore SQL ISNULL with examples.

Example 1: SQL Server ISNULL function in an argument

In this example, SQL ISNULL function returns the second argument value because the first argument is NULL:

1 SELECTISNULL(NULL,100)result;

In the following examples, we can see the following.

  • If the first argument is NULL, it returns the value of the second argument.
  • If the first argument is NOT NULL, it returns the first argument value as output.

1
2

SELECTISNULL(NULL,’SQLServer’)result;

SELECTISNULL(‘SQLShack’,’SQLServer’)result;

Example 2: SQL Server ISNULL to replace a value in existing column values

At the beginning of this article, we created the Employee table and inserted NULL values in it. We can use SQL ISNULL to replace existing NULL values with a specific value.

For example, we want to return Employee salary 10,000 if it is NULL in the Employee table. In the following query, we used SQL ISNULL function to replace the value.

1
2
3

SELECTEmployeeid,

ISNULL(EmployeeSalary,10000)EmployeeSalary

FROMEmployee;

Let’s update the NULL value in the Employee table using the following update statement.

1 UpdateEmployeesetEmployeeSalary=65656whereEmployeeID=2

We do not have any NULL value in the table now; therefore if we run the query with SQL Server ISNULL, it returns actual values of the rows.

Example 3: SQL Server ISNULL with aggregate functions

We can use SQL ISNULL with aggregate functions such as SUM, AVG as well. Suppose we want to perform sum of EmployeeSalary present in Employee table. If EmployeeSalary is NULL, it should be replaced with 10000 before adding the salaries.

Before we move, update the EmployeeSalary as NULL for EmployeeID 2 using the following query.

1 UpdateEmployeesetEmployeeSalary=NULLwhereEmployeeID=2

In the following query, we replaced the NULL value with value 10000 first and then performed SUM on it. You can visualize it with the following screenshot.

1
2

SELECTSUM(ISNULL(EmployeeSalary,10000))

FROMEmployee;

Similarly, we can use SQL ISNULL function to replace NULL values and calculate the average value with AVG() function.

1
2

SELECTAVG(ISNULL(EmployeeSalary,10000))

FROMEmployee;

Example 4: Difference between SQL Server ISNULL with IS NULL

You might confuse between SQL Server ISNULL and IS NULL. We use IS NULL to identify NULL values in a table.

For example, if we want to identify records in the employee table with NULL values in the Salary column, we can use IS NULL in where clause.

1
2
3

SELECT*

FROMEmployee

WHEREEmployeeSalaryISNULL;

In the following screenshot, we cannot use SQL Server ISNULL to find NULL values. We use it to replace NULL values with a specific value. In the second part, we can see the employee having a NULL salary.

Example 5: SQL Server ISNULL to replace the NULL value with a custom message

Consider the example in which we have NULL values in DeliveryAddressLine2 column. We want to print a message in if the actual values from DeliveryAddressLine2 have NULL values.

1
2
3
4
5
6
7
8

Select
,

,

,

,

ISNULL(,’Address Same as DeliveryAddressLine1′)ASDeliveryAddressLine2,

fromcustomers

You can see the message in DeliveryAddressLine2 column.

Solutions

MySQL

The MySQL IFNULL() function lets you
return an alternative value if an expression is NULL:

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

or we can use the COALESCE() function, like this:

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

SQL Server

The SQL Server ISNULL() function lets
you return an alternative value when an expression is NULL:

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

MS Access

The MS Access IsNull() function returns
TRUE (-1) if the expression is a null value, otherwise FALSE (0):

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

Oracle

The Oracle NVL() function achieves the same result:

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

❮ Previous
Next ❯

Sort in Descending Order With NULL Values First

Using the Comparison Operator:

Similar to the operator, we can rely on the fact that returns when expression is NOT NULL, and otherwise.

Query:

SELECT * FROM user 

ORDER BY date_login IS NOT NULL, date_login DESC

Using is equivalent to , so either one could be used.

The same query could also be rewritten using like so:

SELECT * FROM user 

ORDER BY date_login IS NULL DESC, date_login DESC

Expected Result:

+----+--------+------------+
| id |  name  | date_login |
+----+--------+------------+
|  2 |  john  | NULL       |
|  1 |  NULL  | 2017-03-12 |
|  4 |  zayne | 2017-03-02 |
|  3 |  david | 2016-12-24 |
+----+--------+------------+

Using Function:

Query:

SELECT * FROM user 

ORDER BY COALESCE(name, 'zz') DESC

By simply sorting the result of the function in descending order, we make sure values appear first and all other values that appear right after are in descending order.

Expected Result:

+----+--------+------------+
| id |  name  | date_login |
+----+--------+------------+
|  1 |  NULL  | 2017-03-12 |
|  4 |  zayne | 2017-03-02 |
|  2 |  john  | NULL       |
|  3 |  david | 2016-12-24 |
+----+--------+------------+

Introduction

We define the following parameters while designing a table in SQL Server

  • Data types for a particular column
  • Allow NULL or Not Null values in SQL Server

1
2
3
4
5
6

CREATETABLEtable_name
(

column1datatype,

column2datatype,


);

If we do not provide any value for column allow NULL values, SQL Server assumes NULL as default value.

1
2
3
4
5

CREATETABLEEmployee
(EmployeeIDINTIDENTITY(1,1)NOT NULL,

EmployeeNameVARCHAR(50)NOT NULL,

EmployeeSalaryINTNULL

);

Let’s insert a few records in the Employee table.

1
2
3
4
5
6
7
8
9
10

INSERTINTOEmployee
(EmployeeName,

EmployeeSalary
)
VALUES
(‘Rajendra’,

55645
);

INSERTINTOEmployee(EmployeeName)

VALUES(‘Rajendra’);

View the records in the table, and we can see a NULL value against EmployeeID 2 because we did not insert any value for this column.

We might have a requirement to replace NULL values with a particular value while viewing the records. We do not want to update values in the table. We can do this using SQL ISNULL Function. Let’s explore this in the upcoming section.

Демо база данных

В этом уроке мы будем использовать хорошо известный пример базы данных Northwind.

Ниже приведен выбор из таблицы «Customers»:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

И выбор из таблицы «Orders»:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

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

Хранение длинного текста в вашей базе данных влияет и на производительсноть системы и на требования к объему дискового пространства. Таким образом, рекомендуется сжимать длинный текст с помощью функции compress, а для использования — проводить обратное преобразование с помощью функции uncompress.

SELECT LENGTH(COMPRESS(REPEAT('A', 1000000)));
-- OUTPUT: ~1000

Как вы видите, 1 миллион символов A ’сжимается в строку размером примерно в 1000 позиций.

REGEXP()

Да! REGEXP доступен в запросах MySQL, в представлении не нуждается.

id

name

1

Samsung Widescreen 1080p

2

Geforce GT 8800

3

Mini Tv

4

Audio System

5

HTC PRO 2

SELECT id FROM table WHERE name REGEXP '';
-- OUTPUT: 1, 2, 5

С помощью запроса, описанного выше выделяются id элементов, которые имеют числа в имени. Хотя пример является очень простым, но можно представить возможности использования REGEXP в запросах..

Оператор OR в MySQL

Оператор (ИЛИ) в MySQL объединяет два логических выражения и возвращает , когда любое из этих условий выполняется.

Ниже показан синтаксис оператора OR:

логическое_выражение_1 OR логическое_выражение_2

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

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

TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL

Оценка короткого замыкания оператора OR в MySQL

MySQL использует оценку короткого замыкания также и для оператора OR (ИЛИ). Другими словами, MySQL перестает оценивать оставшиеся части оператора, когда он может определить результат.

Давайте рассмотрим следующий пример запроса:

SELECT 1 = 1 OR 1 / 0;

Поскольку выражение всегда возвращает , MySQL не будет оценивать выражение . Если же это произойдет, он выдаст ошибку из-за ошибки деления на ноль.

Приоритет оператора OR в MySQL

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

Давайте рассмотрим следующий пример:

SELECT true OR false AND false;

Как это работает:

  • Во-первых, MySQL оценивает оператор , поэтому выражение возвращает .
  • Во-вторых, MySQL вычисляет оператор , поэтому выражение возвращает .

Чтобы изменить порядок оценки, используйте круглые скобки, например так:

SELECT (true OR false) AND false;

Как это работает:

  • Во-первых, MySQL оценивает выражение в скобках и возвращает
  • Во-вторых, MySQL оценивает оставшуюся часть оператора, и возвращает .

Примеры использования оператора OR в MySQL

В следующем запросе оператор используется для поиска автомобилей, которые выпускаются или в Германии, или в США:

SELECT
  cars,
  country
FROM
  cars
WHERE country = 'Germany' OR
  country = 'USA';

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

В результате следующего запроса вы получите значения базы данных по автомобилях, которые выпускаются либо в Германии, либо в США, а также имеют цену более 20 тыс. долларов.

SELECT
  cars,
  country,
  carPrice
FROM
  cars
WHERE(country = 'Germany'
  OR country = 'USA')
  AND carPrice > 20000;

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

  • 1401

  • 54

  • Опубликовано 05/12/2019

  • 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

Возвращает подстроку  string и перед integer вхождений delimiter

TRIM

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

UCASE

Преобразует строку в верхний регистр

UPPER

Преобразует строку в верхний регистр

Подведем итоги

Конструкция/Блок Порядок выполнения Выполняемая функция
SELECT возвращаемые выражения 4 Возврат данных полученных запросом
FROM источник В нашем случае это пока все строки таблицы
WHERE условие выборки из источника 1 Отбираются только строки, проходящие по условию
GROUP BY выражения группировки 2 Создание групп по указанному выражению группировки. Расчет агрегированных значений по этим группам, используемых в SELECT либо HAVING блоках
HAVING фильтр по сгруппированным данным 3 Фильтрация, накладываемая на сгруппированные данные
ORDER BY выражение сортировки результата 5 Сортировка данных по указанному выражению
SalaryAmount
5000
SalaryAmount
2000
2500
5000
Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Люкс-хост
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: