データベース

[Oracle]超便利!文字を集計する関数

投稿日:

文字を集計する関数を見つけました。公式にサポートされていない隠し関数のですが便利なので覚えておいて損はないです。使い方を簡単に解説します。

スポンサーリンク

文字の集計関数

どんな動作をするのか

簡単にいうと文字をカンマ区切りで連結する関数です。
例えば、あるユーザが持っている権限を1レコードで取得するときなど便利です。

具体例

[権限テーブル]に下記のデータがあります。

ユーザー名   権限
-----------  -------------
おじゃじゃ丸  読取
おじゃじゃ丸  更新
おじゃじゃ丸  追加
おじゃじゃ丸  削除
マインちゃん  読取
マインちゃん  更新

下記のSQLを実行する。

select ユーザー名, wmsys.wm_concat(権限) as 権限
from [権限テーブル] group by ユーザー名

権限がカンマ区切りに連結したデータが取得できます。

ユーザー名   権限
------------  -----------------
おじゃじゃ丸  読取,更新,追加,削除
マインちゃん  読取,更新

Oracleサポートのサポート対象外だと思われますのでご利用は計画的に・・・

参考サイト

-データベース
-

Copyright© 気になるボックス , 2023 AllRights Reserved Powered by AFFINGER4.