sql >> Databasteknik >  >> RDS >> Mysql

Välj X-linjer som börjar på rad Y

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)
      )



  1. Problem med att bygga cx_Oracle - libclntsh.so.11.1 => hittades inte

  2. Hur slår man på/av MySQL strikt läge i localhost (xampp)?

  3. oracle pl/sql-funktionsnamnupplösningsfel

  4. Föråldrade funktioner att ta ur din verktygslåda – Del 2