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

Kan Mysql opdele en kolonne?

Det ser ud til at virke:

substring_index ( substring_index ( context,',',1 ), ',', -1) substring_index ( substring_index ( context,',',2 ), ',', -1) substring_index ( substring_index ( context,',',3 ), ',', -1) substring_index ( substring_index ( context,',',4 ), ',', -1)

det betyder 1. værdi, 2., 3. osv.

Forklaring:

Den indre substring_index returnerer de første n værdier, der er kommasepareret. Så hvis din oprindelige streng er "34,7,23,89", substring_index( context,',', 3) returnerer "34,7,23".
Det ydre substring_index tager den værdi, der returneres af det indre substring_index og -1 giver dig mulighed for at tage den sidste værdi. Så du får "23" fra "34,7,23".
I stedet for -1 hvis du angiver -2 , får du "7,23", fordi den tog de sidste to værdier.

Eksempel:

select * from MyTable where substring_index(substring_index(prices,',',1),',',-1)=3382;
 

Her prices er navnet på en kolonne i MyTable .



  1. 2 måder at liste alle lagrede procedurer i MySQL

  2. SQL Server Azure / 2022 Database Ledger Tables fra Linux.

  3. Træk uger fra en dato i PostgreSQL

  4. Rails, MySQL og Snow Leopard