Preskočiť na obsah
100% lokálne

Generátor SQL WHERE klauzuly

Zmení zoznam hodnôt na SQL WHERE podmienku s IN zoznamom, rozsahom a LIKE vzorom.

Výstup

Generátor SQL WHERE klauzuly

Vložte zoznam hodnôt a tento nástroj z nich vytvorí hotovú SQL WHERE podmienku — IN zoznam, BETWEEN rozsah, LIKE vzor alebo jednoduchý porovnávací výraz — bez ručného zadávania úvodzoviek, čiarok a zátvoriek. Je navrhnutý pre bežný prípad, keď potrebujete stĺpec z tabuľky alebo výsledok dotazu premeniť na filter nasledujúceho dotazu.

Vyberte názov stĺpca, operátor a ako sa budú viacnásobné podmienky spájať (AND alebo OR). IN a NOT IN zbalujú všetky hodnoty do jedného zoznamu, ktorý sa automaticky rozdelí na menšie dávky, keď prekročí stanovenú veľkosť, čo zabezpečí, aby dlhé zoznamy ostali v limitoch parametrov databázy — dávky pre IN sa spájajú s OR a dávky pre NOT IN s AND, pretože to zachováva logiku ekvivalentnú s jedným nerozdeleným zoznamom. BETWEEN čítava každý riadok ako pár nízko:vysoko. Typ hodnoty (reťazec, číslo alebo dátum) určuje, či sa hodnoty ohraničia úvodzovkami, a každý apostrof v reťazci sa automaticky zdvojí, aby meno ako O'Brien nemohlo zlomiť dotaz. Vyberte SQL dialekt, aby ste dostali správne úvodzovky identifikátorov pre názov stĺpca, ktorý to potrebuje — spätné úvodzovky pre MySQL, hranaté zátvorky pre SQL Server, dvojité úvodzovky inde.

Popri doslove klauzuly nástroj vždy vytvorí parameterizovanú verziu s vybraným štýlom zástupného textu — jednoduché otázníky, očíslované $1/$2 zástupné texty alebo pomenované zástupné texty odvodené od stĺpca — plus zoznam hodnôt v poradí, v akom je potrebné ich viazať. Prázdne riadky v zozname hodnôt sú predvolene preskočené alebo prevedené na dodatočnú klauzulu "OR stĺpec IS NULL", keď chcete do výsledku zahrnúť aj riadky s NULL.

Všetko sa vykonáva lokálne v prehliadači; hodnoty, ktoré vložíte, sa nikdy neposielajú nikam. Skopírujte výsledok, stiahnite si ho ako súbor .txt alebo pošlite výstup späť na vstup, aby ste ho mohli ďalej spresňovať.

Časté otázky

Ako napíšem rozsah pre BETWEEN?
Každý riadok je pár nízko:vysoko, napríklad 10:20. Riadky, ktoré nie sú platným párom, sa preskočia a počítajú sa osobitne.
Čo sa stane s dlhým zoznamom s operátorom IN?
Keď je zoznam dlhší ako nastavená veľkosť dávky, rozdelí sa na viacero IN (...) skupín spojených s OR, čo zabezpečí, aby bola cada databáza spokojná s tým, koľko parametrov jeden dotaz môže viazať.
Či mi automaticky zmení apostrofy?
Áno. Každý jednoduchý úvodzovka v reťazci alebo dátumovej hodnote sa zdvojí, takže hodnota ako O'Brien sa stáva 'O''Brien' a nemôže zdeformovať vygenerovaný SQL.
K čomu slúži parametrizovaný výstup?
Je to verzia, ktorú by ste skutočne viazali v kóde — s ?, $1/$2 alebo pomenovanými zástupnými textami namiesto doslov — spolu so zoznamom hodnôt v poradí, v akom je potrebné ich preniesť.
Sú moje údaje niekde nahrané?
Nie. Klauzula sa generuje úplne v prehliadači; hodnoty, ktoré zadáte, nikdy neopustia vaše zariadenie.