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

Vælg X-linjer, der starter ved linje Y

Hvis vi angiver negativt tæller i Substring_Index() funktion, vil den tælle fra højre mod venstre og hente os understrengen til højre for afgrænsningstegnet.

Så med noget matematik, for at få anden (2) til fjerde (4) linje:

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

Tilsvarende vil det for linje 15 - 26 være:

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

Generel formel for en p linje til q linje ville være:

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



  1. OPRET TYPE på MySQL

  2. Postgres' CTE vs Subquery Performance forskel. Hvorfor?

  3. Brug af Wicket til at vise et billede gemt som BLOB i MYSQL db

  4. Er det muligt at se, hvilke data der blev ændret ved en forespørgsel?