2010年02月14日

SQL豆知識【50】

第50回目のSQLの豆知識としまして

図1の様な『商品マスタ』の

テーブルデータが存在していたとします。

商品マスタ

SQL豆知識【50】
図1

図1の『商品マスタ』を基に

文字列関数(STUFF・SUBSTRING)についての

説明を行っていきたいと思います。


① 『STUFF』

文字列の入れ替えを行った文字列を返す関数です。

書式としましては以下の様になります。

≪SQL SERVER≫

【書式】


STUFF(string1,position,length,string2)


【引数】


string1 :入れ替え元文字列
position:入れ替え開始文字位置
length  :入れ替える文字数
string2 :入れ替える文字列


【戻り値】


入れ替えられた文字列



それでは『STUFF』について実際に行ってみたいと思います。

商品マスタ・商品名の3文字目から3文字分を入れ替えてみます。


SELECT 商品ID,商品名,STUFF(商品名,3,3,'てすと') 入れ替え商品名
 FROM 商品マスタ


SQL豆知識【50】
図2

図2の様に、

『商品マスタ・商品名』の3文字目から3文字分が『てすと』という

文字列に入れ替わったのが分かります。

注意点とし以下の内容が有ります。

・全角・半角のバイト数は関係無しに、文字数単位で入れ替えが行われます。

・入れ替えが行われる対象の文字列の文字数が

 入れ替える文字列の文字数より少ない場合は、

 入れ替え後の文字列の文字数は多くなり、

 その逆の場合は、文字数は少なくなります。


② 『SUBSTRING』

文字単位で文字列の抜き取りを行う関数です。

書式としましては以下の様になります。

≪SQL SERVER≫

【書式】


SUBSTRING(string,position,length)


【引数】


string  :抜き取り元文字列
position:抜き取り開始文字位置
length  :抜き取る文字数


【戻り値】


抜き取られた文字列



それでは『SUBSTRING』について実際に行ってみたいと思います。

商品マスタ・商品名の4文字目から3文字分を抜き取ってみます。


SELECT 商品ID,商品名,SUBSTRING(商品名,4,3) 抜き取り商品名
 FROM 商品マスタ


SQL豆知識【50】
図3

図3の様に、

『商品マスタ・商品名』の4文字目から3文字分が抜き取られたのが分かります。

注意点とし以下の内容が有ります。

・全角・半角のバイト数は関係無しに、文字数単位で抜き取りが行われます。

・抜き取りが行われる対象の文字列の文字数が

 指定した文字数分より少ない場合は、

 対象箇所に存在する分だけ抜き取ります。

・抜き取りが行われる対象箇所に文字列が存在しない場合は、

 文字列の抜き取りが行われません。


ちなみにORACLEでの同じ処理の関数として

『SUBSTR』関数があります。

書式としましては以下の様になります。

≪ORACLE≫

【書式】


SUBSTR(string,position,length)


【引数】


string  :抜き取り元文字列
position:抜き取り開始文字位置
length  :抜き取る文字数


【戻り値】


抜き取られた文字列


更に、文字数単位の抜き取り以外にも

バイト数単位で抜き取りを行う事の出来る

『SUBSTRB』関数があります。


今回は、基本的な使用方法を説明しましたが、

色々な使い方がありますので是非、使用して試してみてください。

次回も引き続き、

『文字列関数』の説明を行います。


Blog Ranking
ブログランキングに参加しています。

---------------------------------------------------------------------------------------------------------------
   ■ 弊社の事をお知りになりたい方
   ■ 弊社へ入社希望の方(転職希望の方)
   ■ その他、ご相談やご連絡を取りたい方は
     


画面上部の「オ-ナ-へメッセ-ジ」よりご連絡を下さい。



同じカテゴリー(SQL)の記事
SQL豆知識【64】
SQL豆知識【64】(2010-08-01 13:58)

SQL豆知識【63】
SQL豆知識【63】(2010-07-18 14:55)

SQL豆知識【62】
SQL豆知識【62】(2010-07-11 09:49)

SQL豆知識【61】
SQL豆知識【61】(2010-06-27 06:25)

SQL豆知識【59】
SQL豆知識【59】(2010-05-30 16:51)

SQL豆知識【58】
SQL豆知識【58】(2010-05-16 10:46)


Posted by JOB CAFE at 09:37│Comments(0)SQL
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

プロフィール
JOB CAFE
JOB CAFE
株式会社 ネクサス
                  
本社 :静岡県浜松市中区大工町311-15
            
     TEL:053-451-0830           
     FAX:053-451-0832
オーナーへメッセージ
QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 1人
削除
SQL豆知識【50】
    コメント(0)