Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Limit znaków zwracanych w zapytaniu Oracle sql

Tylko przy odrobinie wysiłku. Coś takiego:

select listagg((case when running_len < 4000 then oi.impression end), ',') within group (order by oi.line)
from (select oi.*,
             sum(length(oi.impression) + 1) over (partition by ?? order by oi.line) as running_len
      from order_impression oi
     ) oi
group by ??;

To oblicza długość biegu i agreguje tylko wartości, które nie przekraczają długości. ?? to wszystko, czego używasz do agregacji. To zakłada, że ​​line jest unikalny, więc order by jest stabilny.

Nie obejmuje to impression która przekracza długość - i nic po tym. Nie obcina wrażenia. Taka logika jest możliwa, ale komplikuje zapytanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć wiersz z maksymalną wartością jednej kolumny na grupę

  2. Jaka jest różnica między tablicą zagnieżdżoną a tablicą asocjacyjną?

  3. Funkcja SOUNDEX() w Oracle

  4. Zdefiniuj typ rekordu w bloku PL/SQL, który odwołuje się do swojej kolekcji

  5. Baza danych menedżera pakietów RPM GI 19c