ORACLE 截取字符串
文字列の一部を切り出すには、SUBSTR関数またはSUBSTRB関数を使用します。
| SUBSTR(文字列 , 開始位置 ) | 文字列 の開始位置 から後ろの文字列を返します |
| SUBSTRB(文字列 , 開始位置 ) | |
| SUBSTR(文字列 , 開始位置 , 文字数 ) | 文字列 の開始位置 から文字数分の文字を返します |
| SUBSTRB(文字列 , 開始位置 , バイト数 ) | 文字列 の開始位置 からバイト数分の文字を返します |
※SUBSTRとSUBSTRBの違い
SUBSTRが文字列の位置を文字数で扱うことに対して、SUBSTRBは文字列の位置をバイト数で扱います。
例1) 文字列'あいうえお'の3文字目以降の文字列を返します。(SUBSTR)
|
select
substr('あいうえお',3) from dual 結果は、'うえお'が返されます。 |
例2) 文字列'あいうえお'の3バイト目以降の文字列が返されます。(SUBSTRB)
|
select
substrb('あいうえお',3) from dual 結果は、'いうえお'が返されます。 |
例3) 文字列'あいうえお'の3文字目から2文字返されます。(SUBSTR)
|
select
substr('あいうえお',3,2) from dual 結果は、'うえ'が返されます。 |
例4) 文字列'あいうえお'の3バイト目から2バイト返されます。(SUBSTRB)
|
select
substrb('あいうえお',3,2) from dual 結果は、'い'が返されます。 |
例5) 文字列'あいうえお'の最後から2文字目以降の文字列を返します。(SUBSTR)
|
select
substr('あいうえお',-2) from dual 結果は、'えお'が返されます。 |
SQL Server 截取字符串
SQL Server 2005 Books Online<!---->
文字、バイナリ、テキスト、またはイメージ型の式の一部を返します。SQL Server 2005 で、この関数と一緒に使用できる有効なデータ型の詳細については、「
データ型 (Transact-SQL)
」を参照してください。
A. SUBSTRING に文字列を使用する
文字列定数 abcdef の 2 番目、3 番目、および 4 番目の文字を表示するには、次のようにします。
SELECT
x
=
SUBSTRING
(
'
abcdef
'
,
2
,
3
)
以下に結果セットを示します。
x
--
--------
bcd
(
1
row(s)affected)
B. SUBSTRING に text、ntext、および image 型のデータを使用する
次の例では、 pubs データベースにある pub_info テーブルの text および image データ列から、それぞれ最初の 200 文字を返します。 text データは varchar として返され、 image データは varbinary として返されます。
以下に結果セットを示します。
pub_idlogopr_info
--
------------------------------------
1756
0x474946383961E3002500
This
is
sa
(
1
row(s)affected)
次の例では、 text データと ntext データの両方に対する SUBSTRING の効果を示します。この例では最初に、 npub_info という名前の pubs データベースに新しいテーブルを作成します。次に、 pub_info.pr_info 列の最初の 80 文字から npub_info テーブルの pr_info 列を作成し、最初の文字として ü を追加します。最後に、 INNER JOIN を使って、 text および ntext の両方のパブリッシャ情報列から、すべてのパブリッシャ ID 番号と SUBSTRING を取得します。
PostgreSQL 截取字符串
--
POSTGRESQL
select
--
"華23人民"
substring
(
'
中華23人民共和国
'
,
2
,
5
)
as
a,
--
"華2人3民"
substring
(
'
中華2人3民共和国
'
,
2
,
5
)
as
b,
--
"中華2人"
substring
(
'
中華2人3民共和国
'
,
0
,
5
)
as
c,
--
"中華2人3"
substring
(
'
中華2人3民共和国
'
,
1
,
5
)
as
d;
.NET 截取字符串
从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。
命名空间:
System
程序集:
mscorlib(在 mscorlib.dll 中)
语法

