.net column
.NET開発者のためのブログメディア

SQLServerでのsubstringの使い方とは?文字列結合・charindexとの組み合わせ

2020年10月29日
SE
SQLServerでsubstringはどこで使うことができまか。
PM
例えば、substringを使うと、select文で取得した結果の文字列の切り出しで使うことができます。また、文字列結合とsubstringを組み合わせたり、update文に使うこともできます。

SQLServerでのsubstringの使い方とは?

今回は、SQLServerでのsubstringの使い方について説明します。

 

substringを使うと、select文で取得した結果の文字列切り出しができます。文字列結合とsubstringを組み合わせることもできます。

 

また、update文にsubstringを使うこともできます。

 

SQLServerでのsubstringの使い方に興味のある方はぜひご覧ください。

基本的な使い方

SQLServerで文字列を切り出すにはsubstringを使います。

 

substringは以下の文法です。

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

3文字目から3文字を切り出していることが分かります。

 

テーブルに対してselect文を実行していませんが、このような使い方もできます。

select文で使う

SQLServerの実際のテーブルに対してselect文を実行し、取得結果の切り出しをしてみましょう。

 

以下のような”table_1”テーブルがあるとします。

 

 

substringで文字列を切り出してみます。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

 


tar
han
ich
sat
jir

last_nameの先頭3文字が取得できています。

 

上記で説明したように、substringの引数は3つです。例えば3文字目以降を取得するにはどうすればよいでしょうか。

 

3つ目の引数を十分大きな数字にすることで、指定文字以降を取得できます。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

 

———-
ro
nako
hiro
tomi
ro

ここでは、substringの第3引数に100を指定しています。

 

このように、SQLServerでは、select文でsubstringが使用できます。

select文で使う(where句)

SQLServerでは、where句でもsubstringを使用できます。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

先頭3文字が”ich”に一致するレコードが取得できていることが分かります。

 

このように、SQLServerでは、where句でもsubstringを使用できます。

select文で使う(文字列結合との組み合わせ)

SQLServerでは、substringと文字列結合を組み合わせれば、Initialを取得するようなこともできます。

 

文字列結合とは”+”で取得結果を結合するものです。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

last_nameとfirst_nameの1文字目が取得され、”.”で文字列結合されていることが分かります。

 

結果はInitialとして取得できています。

select文で使う(charindexとの組み合わせ)

SQLServerでは、substringとcharindexを組み合わせれば、指定文字までの文字列切り出しができます。

 

charindexとは、指定文字のindexを返すものです。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

charindexで指定文字(この場合はハイフン)のindexを取得できます。

 

1つめのsubstringでハイフンまでの文字列を切り出し、2つめのsubstringで次のハイフンまでの文字列を切り出しています。

 

最後に、3つめのsubstringで最後まで切り出しています。

 

substringと組み合わせることで、ハイフンをセパレータとして文字列の切り出しができます。

 

このように、SQLServerでは、substringとcharindexを組み合わせれば、指定文字までの文字列切り出しができます。

update文で使う

SQL Serverでは、update文でもsubstringを使用できます。

 

実際のSQL文を見てみましょう。

実行結果は以下のようになります。

last_nameの先頭3文字で更新されていることが分かります。

 

このように、SQLServerでは、update文でもsubstringを使用できます。

SE
SQLServerではupdate文でもsubstringを使用できるのですね。
PM
その通りです。substringのさまざまな使い方を理解してぜひご自身でもSQL文を書いてみてください。

まとめ

いかがでしたでしょうか。SQLServerでのsubstringの使い方について説明しました。

substringを使うと、select文で取得した結果の文字列切り出しができます。文字列結合とsubstringを組み合わせることもできます。

また、update文にsubstringを使うこともできます。

ぜひご自身でSQL文を書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)