Si nous fournissons un compte négatif dans le Substring_Index()
fonction, il comptera de droite à gauche et nous rapportera la sous-chaîne à droite du délimiteur.
Donc, avec quelques calculs, pour obtenir la deuxième (2) à la quatrième (4) ligne :
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', 4),
'\n',
-(4 - 2 + 1)
)
De même, pour les lignes 15 à 26, ce sera :
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', 26),
'\n',
-(26 - 15 + 1)
)
Formule générale pour un p ligne vers q la ligne serait :
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', q),
'\n',
-(q - p + 1)
)