Hoppa till innehåll
100% lokalt

SQL WHERE-satsgenerator

Förvandla en värdlista till ett SQL WHERE-villkor med IN-listor, intervall och LIKE-mönster.

Utmatning

SQL WHERE-satsgenerator

Klistra in en värdlista och detta verktyg monterar automatiskt ett färdigt SQL WHERE-villkor omkring det — en IN-lista, ett BETWEEN-intervall, ett LIKE-mönster eller en enkel jämförelse — utan att du behöver skriva citat, komman och parenteser manuellt. Det är utformat för det vanliga fallet med att konvertera en kolumn från ett kalkylblad eller frågeresultat till nästa frågas filter.

Välj kolumnnamnet, operatorn och hur flera villkor kombineras (AND eller OR). IN och NOT IN komprimerar alla värden till en lista, vilket automatiskt delas upp i mindre batchar när listan överskrider storleken du anger — långa listor hålls så inom en databass parametergränser. IN-batchar förenas med OR, NOT IN-batchar med AND, eftersom det håller logiken ekvivalent med en odelad lista. BETWEEN läser varje post som ett från:till-par. Värdetypen (text, nummer eller datum) styr om värden omges av citat, och varje apostrof i ett textvärde fördubblas automatiskt så att ett namn som O'Brien inte kan bryta frågan. Välj en SQL-dialekt för att få rätt citattecken för kolumnnamn — backticks för MySQL, hakparenteser för SQL Server, dubbla citat överallt annars.

Till sidorna den bokstavliga satsen producerar verktyget alltid en parametriserad version med den platshållare-stil du väljer — enkla frågetecken, numrerade $1/$2-platshållare eller namngivna platshållare från kolumnnamnet — plus värdlistan i den ordning de måste bindas. Tomma rader i värdlistan hoppas normalt över eller konverteras till en extra "OR kolumn IS NULL"-sats när du vill inkludera NULL-rader i resultatet.

Allt körs lokalt i din webbläsare; värdena du klistrar in lämnas aldrig någonstans. Kopiera resultatet, ladda ner det som en .txt-fil eller skicka utmatningen tillbaka till inmatningen för att fortsätta förfina den.

FAQ

Hur skriver jag ett intervall för BETWEEN?
Varje rad är ett från:till-par, till exempel 10:20. Rader som inte är ett giltigt par hoppas över och räknas separat.
Vad händer med en lång lista med IN-operatorn?
Så snart listan är längre än den batchstorlek du anger, delas den upp i flera IN (...)-grupper sammankopplade med OR, vilket håller varje databas nöjd med hur många parametrar en fråga kan binda.
Fördubblar det apostrofer åt mig?
Ja. Varje enkelt citat i ett text- eller datumvärde fördubblas, så ett värde som O'Brien blir 'O''Brien' och kan inte bryta den genererade SQL.
Vad är den parametriserade utmatningen för?
Det är versionen du faktiskt skulle binda i kod — med ?, $1/$2 eller namngivna platshållare istället för bokstavliga värden — tillsammans med värdena i den ordning de måste skickas.
Laddas mina data upp någonstans?
Nej. Satsen byggs helt i din webbläsare; värdena du anger lämnar aldrig din enhet.