Om vi tillhandahåller negativt antal i Substring_Index()
funktion, kommer den att räkna från höger till vänster och hämta oss delsträngen till höger om avgränsaren.
Så, med lite matematik, för att få andra (2) till fjärde (4) raden:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', 4),
'\n',
-(4 - 2 + 1)
)
På samma sätt, för raderna 15 - 26 kommer det att vara:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', 26),
'\n',
-(26 - 15 + 1)
)
Allmän formel för en p linje till q rad skulle vara:
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX(log_data, '\n', q),
'\n',
-(q - p + 1)
)