Spec-Zone.ru › MariaDB

В

Синтаксис

expr IN (value,...)

Описание

Возвращает 1, если expr равно любому из значений в списке IN, иначе возвращает 0. Если все значения являются константами, они оцениваются в соответствии с типом expr и сортируются. Затем поиск элемента выполняется с помощью бинарного поиска. Это означает, что IN очень быстрый, если список значений IN состоит только из констант. В противном случае преобразование типов происходит в соответствии с правилами, описанными в Преобразовании типов, но применяется ко всем аргументам.

Если expr равно NULL, IN всегда возвращает NULL. Если хотя бы одно из значений в списке равно NULL, и одно из сравнений истинно, результат равен 1. Если хотя бы одно из значений в списке равно NULL и ни одно из сравнений не истинно, результат равен NULL.

Примеры

SELECT 2 IN (0,3,5,7);
+----------------+
| 2 IN (0,3,5,7) |
+----------------+
|              0 |
+----------------+
SELECT 'wefwf' IN ('wee','wefwf','weg');
+----------------------------------+
| 'wefwf' IN ('wee','wefwf','weg') |
+----------------------------------+
|                                1 |
+----------------------------------+ 

Преобразование типов:

SELECT 1 IN ('1', '2', '3');
+----------------------+
| 1 IN ('1', '2', '3') |
+----------------------+
|                    1 |
+----------------------+
SELECT NULL IN (1, 2, 3);
+-------------------+
| NULL IN (1, 2, 3) |
+-------------------+
|              NULL |
+-------------------+

SELECT 1 IN (1, 2, NULL);
+-------------------+
| 1 IN (1, 2, NULL) |
+-------------------+
|                 1 |
+-------------------+

SELECT 5 IN (1, 2, NULL);
+-------------------+
| 5 IN (1, 2, NULL) |
+-------------------+
|              NULL |
+-------------------+

См. также

  • Преобразование больших предикатов IN в подзапросы
Содержимое, воспроизведённое на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают точку зрения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/in/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API