73megane

シチサンメガネ

【PostgreSQL】指定した文字以降の文字列の抽出方法

これをやりたい

f:id:shnkb:20190718232654p:plain

関数説明

  1. 指定文字の場所を調べる
    f:id:shnkb:20190718233047p:plain

  2. substrで切り出す
    f:id:shnkb:20190718233309p:plain

参考ページだとinstr関数を使っていたが、PostgreSQLだと使えなかったので代わりにstrposを使用した。
参考)
http://www.ne.jp/asahi/hishidama/home/tech/postgres/string.html

実際のクエリ

こんなイメージのクエリを書きました。

select 
    substr(email, strpos(email,'@'),char_length(email)) as domain,
    count(1)
from
    t1
group by
    1
order by
    2 desc;

参考