PostgreSQL/PostgreSQLでLeft,Right,Midの代替方法・substring
の編集
Top
/
PostgreSQL
/
PostgreSQLでLeft,Right,Midの代替方法・substring
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
PostgreSQL/template0とtemplate1の違いについて
#navi(../) * PostgreSQLでLeft,Right,Midの代替方法・substring関数 [#r77808cd] substring関数を使って、VisualBasicやAccessなどにあるLeft関数, Right関数, Mid関数と同じような使い方を以下に記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 本記事の環境とデータ [#a5844d44] -環境~ OS : CentOS5~ PostgreSQL : 8.4.13 -使用したテーブルとテーブル~ sakura=# create table substr (l varchar(10), r varchar(10), m varchar(10)); CREATE TABLE sakura=# insert into substr values('0123456789','abcdefghij', 'ABCDEFGHIJ'); INSERT 0 1 sakura=# select * from substr; l | r | m ------------+------------+------------ 0123456789 | abcdefghij | ABCDEFGHIJ (1 行) * substring関数を使ってRight [#xa1e12f8] substrテーブルのrカラムを使ってRightを実現してみます。~ substringの構文は以下のようになります。 substring(文字列, length(文字列) - 右から取得する文字列数 + 1, length(文字列)) または substring(文字列 from length(文字列) - 右から取得する文字列数 + 1 for length(文字列)) 以下に上記の構文を実行した例を記します。~ 文字列の右からが3文字取得します。 sakura=# select substring(r, length(l) - 3 + 1, length(l)) from substr; substring ----------- hij (1 行) sakura=# select substring(r from length(l) - 3 + 1 for length(l)) from substr; substring ----------- hij (1 行) * substring関数を使ってLeft [#p6b768f1] substrテーブルのlカラムを使ってLeftを実現してみます。~ substringの構文は以下のようになります。 substring(文字列, 開始位置, 開始位置を含めた文字数) または substring(文字列 from 開始位置 for 開始位置を含めた文字数) 以下に上記の構文を実行した例を記します。~ 開始位置が先頭(1)で5文字取得します。 sakura=# select substring(l, 1, 5) from substr; substring ----------- 01234 (1 行) sakura=# select substring(l from 1 for 5) from substr; substring ----------- 01234 (1 行) * substring関数を使ってMid [#a17ae4c3] Midに関しては、substring関数をそのまま利用することができます。~ substringの構文は以下の通りです。 substring(文字列, 開始位置、取得文字数) または substring(文字列 from 開始位置 for 取得文字数) 以下に上記の構文を実行した例を記します。~ 開始位置が3文字目で4文字取得してみます。 sakura=# select substring(m, 3, 4) from substr; substring ----------- CDEF (1 行) sakura=# select substring(m from 3 for 4) from substr; substring ----------- CDEF (1 行) * substring関数に直に文字列を設定し実行 [#y074fb7f] substring関数の文字列を指定する部分は、テーブルのカラム以外に文字列を直に設定し実行することもできます。~ 以下に例を記します。 sakura=# select substring('Hello world!', 1, 5); substring ----------- Hello (1 行) 以上、PostgreSQLでsubstring関数を用い、Left, Right, Mid関数と同様の機能を実現する方法でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
タイムスタンプを変更しない
#navi(../) * PostgreSQLでLeft,Right,Midの代替方法・substring関数 [#r77808cd] substring関数を使って、VisualBasicやAccessなどにあるLeft関数, Right関数, Mid関数と同じような使い方を以下に記します。 #contents #htmlinsertpcsp(db-top.html,db-sp.html) * 本記事の環境とデータ [#a5844d44] -環境~ OS : CentOS5~ PostgreSQL : 8.4.13 -使用したテーブルとテーブル~ sakura=# create table substr (l varchar(10), r varchar(10), m varchar(10)); CREATE TABLE sakura=# insert into substr values('0123456789','abcdefghij', 'ABCDEFGHIJ'); INSERT 0 1 sakura=# select * from substr; l | r | m ------------+------------+------------ 0123456789 | abcdefghij | ABCDEFGHIJ (1 行) * substring関数を使ってRight [#xa1e12f8] substrテーブルのrカラムを使ってRightを実現してみます。~ substringの構文は以下のようになります。 substring(文字列, length(文字列) - 右から取得する文字列数 + 1, length(文字列)) または substring(文字列 from length(文字列) - 右から取得する文字列数 + 1 for length(文字列)) 以下に上記の構文を実行した例を記します。~ 文字列の右からが3文字取得します。 sakura=# select substring(r, length(l) - 3 + 1, length(l)) from substr; substring ----------- hij (1 行) sakura=# select substring(r from length(l) - 3 + 1 for length(l)) from substr; substring ----------- hij (1 行) * substring関数を使ってLeft [#p6b768f1] substrテーブルのlカラムを使ってLeftを実現してみます。~ substringの構文は以下のようになります。 substring(文字列, 開始位置, 開始位置を含めた文字数) または substring(文字列 from 開始位置 for 開始位置を含めた文字数) 以下に上記の構文を実行した例を記します。~ 開始位置が先頭(1)で5文字取得します。 sakura=# select substring(l, 1, 5) from substr; substring ----------- 01234 (1 行) sakura=# select substring(l from 1 for 5) from substr; substring ----------- 01234 (1 行) * substring関数を使ってMid [#a17ae4c3] Midに関しては、substring関数をそのまま利用することができます。~ substringの構文は以下の通りです。 substring(文字列, 開始位置、取得文字数) または substring(文字列 from 開始位置 for 取得文字数) 以下に上記の構文を実行した例を記します。~ 開始位置が3文字目で4文字取得してみます。 sakura=# select substring(m, 3, 4) from substr; substring ----------- CDEF (1 行) sakura=# select substring(m from 3 for 4) from substr; substring ----------- CDEF (1 行) * substring関数に直に文字列を設定し実行 [#y074fb7f] substring関数の文字列を指定する部分は、テーブルのカラム以外に文字列を直に設定し実行することもできます。~ 以下に例を記します。 sakura=# select substring('Hello world!', 1, 5); substring ----------- Hello (1 行) 以上、PostgreSQLでsubstring関数を用い、Left, Right, Mid関数と同様の機能を実現する方法でした。 #htmlinsertpcsp(db-btm.html,db-sp.html)
テキスト整形のルールを表示する