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

Vlastní ORDER BY ignorovat 'the'

Nejlepší je mít k tomu vypočítaný sloupec, abyste mohli vypočítaný sloupec indexovat a seřadit podle toho. Jinak bude řazení hodně práce.

Takže pak můžete mít svůj vypočítaný sloupec jako:

CASE WHEN title LIKE 'The %' THEN stuff(title,1,4,'') + ', The' ELSE title END

Edit:Pokud STUFF není v MySQL k dispozici, použijte RIGHT nebo SUBSTRING k odstranění úvodních 4 znaků. Ale přesto se snažte pokud možno použít počítaný sloupec, aby bylo indexování lepší. Stejná logika by měla platit pro vytržení „A“ a „An“.

Rob



  1. Jak opravit „Neplatný název objektu ‚OPENJSON‘.“ v SQL Server

  2. Migrace databáze Oracle z AWS EC2 na AWS RDS, část 3

  3. Jak použít řetězec PHP v dotazu LIKE mySQL?

  4. Chyba hodnoty při importu dat do tabulky postgres pomocí psycopg2