sql >> データベース >  >> RDS >> Oracle

OracleSQLクエリで返される文字を制限する

    少しの努力でのみ。このようなもの:

    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 ??;
    

    これにより、実行長が計算され、長を超えない値のみが集計されます。 ?? 集計に使用しているものは何でもです。これは、line は一意であるため、order by 安定しています。

    これにはimpressionは含まれません それは長さを超えています-そしてその後は何もありません。印象を損なうことはありません。そのロジックは可能ですが、クエリが複雑になります。



    1. Python 2.6以降のmysqldb(win32)

    2. 指定された期間の月の最初と最後の日を含むリストを作成します

    3. C#でMysqlDBに接続する-データセットでいくつか必要

    4. 上位nパーセント上位n%