趣味は車輪の再発明♪

部分文字列の取得 - [ 文字列処理 / SQL ]


「小さな小さなサンプル&スニペット」
▲インデックスへ戻る▲
カテゴリ:「文字列処理」

文字列から部分文字列を取得する処理です。

-- *** Microsoft SQL Server Transact-SQL ***
-- SUBSTRING(expression, start, length);

DECLARE @s varchar(5);
SET @s = 'ABCDE'; -- 全体文字列

SELECT

-- 先頭の文字位置は1
SUBSTRING(@s, 1, 3), -- 'ABC'
SUBSTRING(@s, 2, 3), -- 'BCD'
SUBSTRING(@s, 3, 3), -- 'CDE'

-- 開始位置に0以下の値を指定した場合は先頭から取り出される。
-- 取り出される文字数は(start+length-1)か0のうち大きいほう。
SUBSTRING(@s, 0, 3), -- 'AB'
SUBSTRING(@s, -1, 5), -- 'ABC'
SUBSTRING(@s, -3, 5), -- 'A'

-- 文字数0なら空文字
SUBSTRING(@s, 2, 0), -- ''

-- 開始位置が文字数より大きい場合空文字
SUBSTRING(@s, 6, 1), -- ''

-- はみ出た分は切られます。
SUBSTRING(@s, 3, 10) -- 'CDE'
;		

Microsoft SQL Server で使用する、Transact-SQL では、開始位置と文字数を指定し、SUBSTRINGを使用します。



RSS Feed Widget
部分文字列の取得 - [ 文字列処理 / SQL ]
(http://bicycle.life.coocan.jp/takamints/index.php/snippets/snippet/string/substring/sql)
by Koji Takami ( email: vzg03566@gmail.com, GitHub: takamin )