sql >> Databáze >  >> RDS >> Mysql

Prohledejte všechny sloupce tabulky pomocí jediné podmínky where s jedním klíčovým slovem v mysql

SELECT * FROM `some_table`
WHERE
CONCAT_WS('|',`column1`,`column2`,`column3`,`column4`,`column64`) # single condition, many columns
LIKE '%VT%'

Voila.

'|' oddělovač, mimochodem, má zabránit hledání náhodných shod, kde např. sloupec1 končí na 'V' a sloupec 2 začíná na 'T', což by vám dalo falešnou pozitivitu při hledání "VT".

Nejsem si jistý, zda je výše uvedená metoda rychlejší než OR metoda (předpokládám, že mají stejnou rychlost), ale rozhodně to vyžaduje méně psaní, pokud dotaz píšete ručně.



  1. Proč je platný SELECT bez sloupců

  2. Jak nastavit proměnnou z SQL dotazu?

  3. Mysql Zlepšení výkonu vyhledávání pomocí zástupných znaků (%%)

  4. Proč mají celá čísla v databázi řádků n-tice příponu 'L'?