sql >> Database >  >> RDS >> Mysql

Doorzoek alle kolommen van een tabel met een enkele waar-voorwaarde met een enkel trefwoord in mysql

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

Voilà.

de '|' Het scheidingsteken is trouwens om te voorkomen dat u toevallige overeenkomsten vindt waarbij bijvoorbeeld kolom1 eindigt op 'V' en kolom2 begint met 'T', wat u een vals positief resultaat zou geven bij het zoeken naar "VT".

Ik weet niet zeker of de bovenstaande methode sneller is dan de OR methode (ik vermoed dat ze dezelfde snelheid hebben), maar je hoeft zeker minder te typen als je de zoekopdracht met de hand schrijft.



  1. Interessante dingen over IN PLAATS VAN triggers

  2. Hoe Oracle Stored Procedure in Python aan te roepen?

  3. SQLite - Een database maken

  4. Tabel- en kolomnamen ontleden uit SQL/HQL Java