sql >> Databasteknik >  >> RDS >> Mysql

Hur väljer jag efter ett antal starttecken?

Snabbare än Regular expressions och SUBSTRING() funktionsanrop. Detta kommer att använda indexet för symbolName :

WHERE symbolName >= 'A' 
  AND symbolName < 'G'

Det finns dock ett problem med skiftlägeskänsligheten. Vill du ha namn som börjar med a..f också eller inte?

Om du bara vill ha namn som börjar med versaler och tabellen har utf8 teckenuppsättning, använd:

WHERE symbolName >= 'A' COLLATE utf8_bin
  AND symbolName < 'G' COLLATE utf8_bin

För andra teckenuppsättningar, använd motsvarande _bin sammanställning.



  1. mysql.connector.errors.ProgrammingError:1064 (4200):Du har ett fel i din SQL-syntax;

  2. SQL WHERE-sats som matchar värden med efterföljande mellanslag

  3. Öka VOTE-diskgrupp i ASM för GI 12.2-uppgradering

  4. Oracle String Functions (fullständig lista)