【PostgreSQL】文字列操作まとめ

2020年6月29日

スポンサーリンク

文字列操作

1.文字列の結合

select 'abc' || 'EFG';  --"abcEFG"
select  null || 'abc';  --null(nullと結合するとnullになるため注意)

 

2.文字列長の取得(length)

select length('abcdefgあいう');  --10

 

3.文字の一部分の取得(substring、left、right)

select substring('abcdefghijk',2,3); -- "bcd"  (2文字目から3文字取得する)
select left('abcdefghijk',5);        -- "abcde"(左から5文字取得する)
select right('abcdefghijk',5);       -- "ghijk"(右から5文字取得する)

 

4.文字列の位置の取得(strpos)

select strpos('abcdefg','ef');                --5(=5文字目にある)
select strpos(upper('abcdefg'),upper('Cde')); --3(大文字小文字の区別なし)
select strpos('abcdefg','xyz');               --0(見つからない場合0となる)

 

5.スペース除去(trim)

select * from trim('   abc   ');    --"abc"  (前後のスペースを除去)
select * from trim('   a b c   ');  --"a b c"(文字間のスペースは除去されない)

 

6.大文字・小文字の変換(upper、lower)

select upper('abc');  --ABC(大文字へ変換)
select lower('EFG');  --efg(小文字へ変換)

 

7.置換(replace)

select replace('everywhere','e','E');  --"EvErywhErE"(e ⇒ Eへ置換)

 

8.前0埋め(lpad)

select lpad('12345',10,'0');  --"0000012345"(10桁前0埋め)

 

9.後ろスペース埋め(rpad)

select rpad('12345',10,' ');  --"12345     "(後ろスペース埋め10桁)

 

10.Nullの場合の処理(COALESCE)

select * From COALESCE(null , 'abc');  --'abc'(一つ目の引数がnullなら二つ目の引数を返す)

 

11.文字のバイト数をカウント(octet_length)

select octet_length('abcde');   --5 (半角=1、全角=3バイト)
select octet_length('アイウえお');  --15(半角カタカナも1文字3バイトで計算)

 

12.先頭の文字を大文字に(initcap)

select * From initcap('big');  --Big

 

13.ひらがな⇔カタカナ、全角⇔半角の変換(自作関数)

ひらがな→カタカナ  カタカナ→ひらがな  半角→全角  全角→半角

 

 

この他にもPostgreSQLのまとめをしています↓

お気に入りに!「こんな時どう書くんだっけ?」の構文・SQLのまとめ