sql >> Database >  >> RDS >> Mysql

Regex gebruiken met LIKE om eerst alfabetten te sorteren en daarna symbolen SQL

Probeer dit:

SELECT * 
FROM travels.destinations AS D
WHERE D.name LIKE '%act%' AND D.sold = 'N' AND D.active = '1'
ORDER BY CASE WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE 'act%' THEN 0
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act' THEN 1
              WHEN D.name REGEXP '^[a-zA-Z]*$' AND D.name LIKE '%act%' THEN 2
              ELSE 3 
         END, 
         D.name 
LIMIT 10



  1. Met behulp van Python snel veel kolommen invoegen in Sqlite\Mysql

  2. Bestelling van 'IN'-clausule behouden

  3. MySQL selecteer alle rijen van vorige maand tot (nu() - 1 maand), voor vergelijkingsdoeleinden

  4. SQL Server voegt auto-increment primaire sleutel toe aan bestaande tabel