Aller au contenu
Tout en local

Générateur de clause SQL WHERE

Transformez une liste de valeurs en une condition SQL WHERE avec listes IN, plages et motifs LIKE.

Sortie

Générateur de clause SQL WHERE

Collez une liste de valeurs et cet outil construit une condition SQL WHERE prête à l'emploi — une liste IN, une plage BETWEEN, un motif LIKE ou une simple comparaison — sans avoir à taper manuellement des guillemets, des virgules et des parenthèses. Il est conçu pour le cas courant de convertir une colonne d'une feuille de calcul ou un résultat de requête dans le filtre de la requête suivante.

Choisissez le nom de la colonne, l'opérateur et la façon dont les conditions multiples se combinent (AND ou OR). IN et NOT IN réduisent chaque valeur en une seule liste, automatiquement divisée en lots plus petits une fois que la liste dépasse la taille que vous définissez, afin que les longues listes restent dans les limites des paramètres d'une base de données — les lots pour IN sont joints avec OR, et les lots pour NOT IN avec AND, car cela garde la logique équivalente à une seule liste non divisée. BETWEEN lit chaque entrée comme une paire bas:haut. Le type de valeur (texte, nombre ou date) contrôle si les valeurs sont entourées de guillemets, et chaque apostrophe dans une chaîne est automatiquement échappée pour qu'un nom comme O'Brien ne puisse pas casser la requête générée. Choisissez un dialecte SQL pour obtenir les bons guillemets pour un nom de colonne qui en a besoin — accents graves pour MySQL, crochets pour SQL Server, guillemets doubles ailleurs.

Alongside the literal clause, l'outil produit toujours une version paramétrée avec le style de placeholder que vous choisissez — des points d'interrogation simples, des placeholders numérotés $1/$2, ou des placeholders nommés dérivés de la colonne — plus la liste des valeurs dans l'ordre dans lequel elles doivent être liées. Les lignes vides dans la liste de valeurs sont ignorées par défaut, ou converties en une clause supplémentaire "OR colonne IS NULL" quand vous voulez inclure les lignes NULL dans le résultat.

Tout s'exécute localement dans votre navigateur; les valeurs que vous collez ne sont jamais téléchargées nulle part. Copiez le résultat, téléchargez-le en tant que fichier .txt, ou renvoyez le résultat à l'entrée pour continuer à l'affiner.

FAQ

Comment écrivez-vous une plage pour BETWEEN?
Chaque ligne est une paire bas:haut, par exemple 10:20. Les lignes qui ne sont pas une paire valide sont ignorées et comptabilisées séparément.
Que se passe-t-il avec une longue liste avec l'opérateur IN?
Une fois que la liste est plus longue que la taille du lot que vous avez définie, elle est divisée en plusieurs groupes IN (...) joints avec OR, ce qui maintient chaque base de données heureuse quant au nombre de paramètres qu'une requête peut lier.
Est-ce qu'il échappe les apostrophes pour moi?
Oui. Chaque guillemet simple dans une chaîne ou une valeur de date est doublé, donc une valeur comme O'Brien devient 'O''Brien' et ne peut pas casser le SQL généré.
À quoi sert la sortie paramétrée?
C'est la version que vous lieriez réellement dans le code — avec ?, $1/$2, ou des placeholders nommés au lieu de valeurs littérales — affichées avec les valeurs dans l'ordre dans lequel elles doivent être transmises.
Mes données sont-elles téléchargées quelque part?
Non. La clause est construite entièrement dans votre navigateur; les valeurs que vous entrez ne quittent jamais votre appareil.