Перейти к содержанию
100% локально

Конструктор SQL WHERE

Превратите список значений в условие SQL WHERE с IN списками, диапазонами и LIKE шаблонами.

Выходные данные

Конструктор SQL WHERE

Вставьте список значений, и этот инструмент создаст готовое условие SQL WHERE — IN список, диапазон BETWEEN, LIKE шаблон или простое сравнение — без необходимости вручную вводить кавычки, запятые и скобки. Он создан для повседневного случая преобразования столбца электронной таблицы или результата запроса в фильтр следующего запроса.

Выберите имя столбца, оператор и способ объединения нескольких условий (AND или OR). IN и NOT IN сворачивают каждое значение в один список, автоматически разбивая его на более мелкие пакеты, когда список превышает установленный вами размер, чтобы длинные списки оставались в пределах ограничений параметров базы данных — пакеты для IN объединяются с OR, а пакеты для NOT IN с AND, так как это сохраняет логику, эквивалентную одному неразбитому списку. BETWEEN читает каждую строку как пару низ:верх. Тип значения (строка, число или дата) определяет, заключены ли значения в кавычки, и каждый апостроф внутри строки автоматически экранируется, чтобы имя вроде O'Brien не могло нарушить запрос. Выберите диалект SQL, чтобы получить правильное цитирование идентификаторов для имени столбца, которое это требует — обратные кавычки для MySQL, квадратные скобки для SQL Server, двойные кавычки везде.

Наряду с литеральным условием инструмент всегда создает параметризованную версию с выбранным вами стилем заполнителя — простые вопросительные знаки, нумерованные $1/$2 заполнители или именованные заполнители, полученные из столбца — плюс список значений в порядке их связывания. Пустые строки в списке значений пропускаются по умолчанию или преобразуются в дополнительное условие "OR столбец IS NULL", когда вы хотите включить строки с NULL в результат.

Все работает локально в вашем браузере; значения, которые вы вставляете, никогда не загружаются никуда. Скопируйте результат, загрузите его как файл .txt или отправьте результат обратно на вход, чтобы продолжить его уточнение.

FAQ

Как записать диапазон для BETWEEN?
Каждая строка — это пара низ:верх, например 10:20. Строки, которые не являются допустимой парой, пропускаются и подсчитываются отдельно.
Что происходит с длинным списком при операторе IN?
Если список длиннее установленного вами размера пакета, он разбивается на несколько групп IN (...), соединенных с помощью OR, что сохраняет комфортность для каждой базы данных в отношении количества параметров, которые один запрос может связать.
Экранирует ли она апострофы для меня?
Да. Каждая одинарная кавычка внутри строки или значения даты удваивается, поэтому значение вроде O'Brien становится 'O''Brien' и не может нарушить сгенерированный SQL.
Для чего нужна параметризованная версия?
Это версия, которую вы действительно связали бы в коде — с ?, $1/$2 или именованными заполнителями вместо буквальных значений — вместе со значениями в порядке их передачи.
Загружаются ли мои данные куда-то?
Нет. Условие строится полностью в вашем браузере; значения, которые вы вводите, никогда не покидают ваше устройство.