Mysql
 sql >> Database >  >> RDS >> Mysql

Cerca in tutte le colonne di una tabella utilizzando una singola condizione where con una singola parola chiave in mysql

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

Voilà.

Il '|' separatore, tra l'altro, serve a impedirti di trovare corrispondenze casuali in cui, ad esempio, la colonna1 termina con "V" e la colonna2 inizia con "T", il che ti darebbe un falso positivo nella ricerca di "VT".

Non sono sicuro che il metodo sopra sia più veloce di OR method (suppongo che abbiano la stessa velocità), ma implica sicuramente meno digitazione se stai scrivendo la query a mano.