sql >> Base de Datos >  >> RDS >> Mysql

Seleccionar líneas X comenzando en la línea Y

Si proporcionamos un recuento negativo en el Substring_Index() función, contará de derecha a izquierda y nos traerá la subcadena a la derecha del delimitador.

Entonces, con algunas matemáticas, para obtener la segunda (2) a la cuarta (4) línea:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 4), 
      '\n',
      -(4 - 2 + 1)
      )

Del mismo modo, para las líneas 15 - 26 será:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', 26), 
      '\n',
      -(26 - 15 + 1)
      )

Fórmula general para una p línea a q línea sería:

SELECT 
  SUBSTRING_INDEX(
      SUBSTRING_INDEX(log_data, '\n', q), 
      '\n',
      -(q - p + 1)
      )