Développement par étapes...
Position du premier guillemet :
SELECT INSTR('a:1:{i:3;s:2:"14";}', '"')
==> 14
On garde les derniers caractères de la chaîne à partir de la position 14 :
SELECT RIGHT('a:1:{i:3;s:2:"14";}', LENGTH('a:1:{i:3;s:2:"14";}') - INSTR('a:1:{i:3;s:2:"14";}', '"'))
==> 14";}
Position du premier guillemet dans ce morceau restant :
SELECT INSTR(RIGHT('a:1:{i:3;s:2:"14";}', LENGTH('a:1:{i:3;s:2:"14";}') - INSTR('a:1:{i:3;s:2:"14";}', '"')), '"')
==> 3
On garde les caractères de gauche avant la position 3 :
1 2 3 4 5 6
| SELECT
LEFT(
RIGHT('a:1:{i:3;s:2:"14";}', LENGTH('a:1:{i:3;s:2:"14";}') - INSTR('a:1:{i:3;s:2:"14";}', '"')),
INSTR(RIGHT('a:1:{i:3;s:2:"14";}', LENGTH('a:1:{i:3;s:2:"14";}') - INSTR('a:1:{i:3;s:2:"14";}', '"')), '"')
- 1
) |
==> 14
Il suffit de remplacer la valeur par le nom de la colonne :
1 2 3 4 5 6 7
| SELECT
LEFT(
RIGHT(combination, LENGTH(combination) - INSTR(combination, '"')),
INSTR(RIGHT(combination, LENGTH(combination) - INSTR(combination, '"')), '"')
- 1
)
FROM uc_product_adjustments |
Je ne sais pas s'il y a plus simple mais a priori ça fonctionne, si toutes les "combination" sont formatées pareil.
Partager