SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

PostgreSQL 編13 - 文字関数、連結、空白削除、置換、切出、検索、長さ、数値

■文字列連結

  ・「||」演算子で文字列の結合を行う。
    concat() 関数は、PostgreSQL では使用できない。

select 'abc' || 'def';

 ?column?
----------
 abcdef

select key || data1 from testm;

■chr 文字変換

  ・chr() 関数は、コードに該当する ASCII 文字を返す。
    この例では、「1」と言う文字が返る。

select chr(49);

 chr
-----
 1

■ascii コード変換

  ・ascii() 関数は、文字に該当する ASCII コードを返す。
    この例では、「49」と言う数字が返る。

select ascii('1');

 ascii
-------
    49

■小文字化

  ・lower() 関数は、英字を小文字にして返す。

select lower('ABC012');

 lower
--------
 abc012

■大文字化

  ・upper() 関数は、英字を大文字にして返す。

select upper('abc012');

 upper
--------
 ABC012

■左文字埋め

  ・lpad() 関数は、文字列の左に指定文字を埋めて指定数切り出します。
    (切り出し指定数になるまで繰り返し埋めます。)

select lpad('abc', 5, '0');

 lpad
-------
 00abc

select lpad('abc', 5, '012');

 lpad
-------
 01abc

  ・指定文字省略値は ' ' 半角スペースです。

select lpad('abc', 5);

 lpad
-------
   abc

select lpad('abc', 5, ' ');

 lpad
-------
   abc

■右文字埋め

  ・rpad() 関数は、文字列の右に指定文字を埋めて指定数切り出します。
    (切り出し指定数になるまで繰り返し埋めます。)

select rpad('abc', 5, '0');

 rpad
-------
 abc00

select rpad('abc', 5, '012');

 rpad
-------
 abc01

  ・指定文字省略値は ' ' 半角スペースです。

select rpad('abc', 5);

 rpad
-------
 abc

select rpad('abc', 5, ' ');

 rpad
-------
 abc

■左空白削除

  ・ltrim() 関数は、文字列の左側の空白を除去します。

select ltrim('          abc');

 ltrim
-------
 abc

■右空白削除

  ・rtrim() 関数は、文字列の右側の空白を除去します。

select ltrim('abc          ');

     ltrim
---------------
 abc

■左右空白削除

  ・trim() 関数は、文字列の左右の空白を除去します。

select trim('          abc          ');

 btrim
-------
 abc

■文字列置き換え

  ・translate() 関数は、凝った文字列の置き換えをする。

select translate('abc012', '0123456789abc', '0000000000AAA');

 translate
-----------
 AAA000

  ・カットもできる。この例では、「000」が返る。

select translate('abc012', '0123456789abc', '0000000000');

 translate
-----------
 000

■文字列切り出し

  ・substr() 関数は、文字列の切り出しをする。

select substr('abc012', 3, 2);

 substr
--------
 c0

  ・開始位置以降、最後まで切り出す場合は、切り出す文字数を省略できる。

select substr('abc012', 3);

 substr
--------
 c012

■文字列検索

  ・strpos() 関数は、文字列の検索を行う。
    開始位置や後方検索の指定は、PostgreSQL ではできない。

select strpos('abc012', 'c0');

 strpos
--------
      3

■文字列の長さ

  ・length() 関数は、文字列の長さを返す。
    octet_length() 関数は、バイトで返します。

select length('abc012');

 length
--------
      6

■文字列繰り返し

  ・repeat() 関数は、文字列を繰り返し返す。

select repeat('abc012', 2);

    repeat
--------------
 abc012abc012

■数値から文字列へ変換 (数値フォーマット、書式変換)

  ・to_char() 関数は、数値を文字列型に変換します。
    単純な to_char(123456) は、明示的にする必要がないようです。
    「数値 || 数値」すると自動的に文字変換され結合されます。

select 123456 || 789012;

   ?column?
--------------
 123456789012

  ・三桁毎に数値にカンマ「,」を入れたい場合、次のようにします。

select to_char(123456, '999,999,999,999');

     to_char
------------------
          123,456

  ・小数点以下をフォーマットする場合は、次のようにします。

select to_char(123456, '999,999,999,999.99');

       to_char
---------------------
          123,456.00

  ・ゼロ埋め(0 埋め) フォーマットする場合は、次のようにします。

select to_char(123456, '000000000000');

    to_char
---------------
  000000123456

■文字列から数値へ変換

  ・to_number() 関数は、文字列を数値に変換します。

select to_number('00123456', '000000000000');

 to_number
-----------
    123456

select to_number('123,456', '999,999,999,999');

 to_number
-----------
    123456

select to_number('123' || '456', '999999999999');

 to_number
-----------
    123456

■型変換

  ・cast() 関数は、ANSI 規程の変換関数です。

select cast('123' || '456' as int8);

  int8
--------
 123456

■PostgreSQL 編、JAVA Servlet、JSP 編資料
■MySQL 編資料
■SQL 基礎編資料
■SQL 基礎実地編資料
■SQL チューニング編資料
■Oracle PL/SQL 編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK