2010年01月31日
SQL豆知識【49】
第49回目のSQLの豆知識としまして
図1の様な『商品マスタ』の
テーブルデータが存在していたとします。
商品マスタ
図1
図1の『商品マスタ』を基に
文字列関数(SPACE・STR)についての
説明を行っていきたいと思います。
① 『SPACE』
指定した文字数分の空白の文字列を返す関数です。
書式としましては以下の様になります。
≪SQL SERVER≫
【書式】
SPACE(number)
【引数】
number:スペース文字数
【戻り値】
スペース文字列
それでは『SPACE』について実際に行ってみたいと思います。
商品マスタ・商品名とグループ名の間にスペース3文字を入れて
結合してみます。
SELECT 商品ID,商品名,グループ名,(商品名 + SPACE(3) + グループ名) 商品グループ名
FROM 商品マスタ
図2
図2の様に、
『商品マスタ・商品名』と『商品マスタ・グループ名』の間に
スペースが挿入されたのが分かります。
② 『STR』
数値型から文字列型に変換した文字列を返す関数です。
書式としましては以下の様になります。
≪SQL SERVER≫
【書式】
STR(number,[length,[digit]])
【引数】
number:変換される数値式、数値
length:変換後の文字列の長さ
digit :変換後の小数点部の文字列の長さ
【戻り値】
変換された文字列
それでは『STR』について実際に行ってみたいと思います。
商品マスタ・仕入単価を数値型から文字列型に変換してみます。
小数点以下のデータが存在しない為、
固定値で小数点以下の変換の確認も行ってみたいと思います。
SELECT 商品ID,仕入単価,STR(仕入単価,5) 文字列仕入単価,STR(123.456,7,2) 文字列小数部有
FROM 商品マスタ
図3
図3の様に、
取得結果列名、『商品マスタ・文字列仕入単価』の内容を確認しますと
変換文字列数を5文字で指定した為に、
6桁以上ある『商品マスタ・仕入単価』は変換が出来ないと
判断された為に、『*』が返されます。
取得結果列名、『文字列小数部有』の内容を確認しますと
変換文字列数を7文字で指定した為に、小数点を含めても変換は可能ですが、
小数点部分文字列の指定を2文字と指定した為、
小数点以下第3位が変換されないのが分かります。
ちなみに小数点部の文字列の長さを指定しないと、
デフォルト値で『0』が指定されます。
それでは、実際に文字列に変換されたかを確認してみたいと思います。
先ずは、商品マスタ・仕入単価、卸単価を数値型のまま、
『SPACE』関数と組み合わせて
文字列の結合を行ってみたいと思います。
SELECT 商品ID,商品名,仕入単価 + space(3) + 卸単価
FROM 商品マスタ
図4
図4の様に、
商品マスタ・仕入単価、卸単価が数値型のままの為、
エラーが返されたのが分かります。
次に、商品マスタ・仕入単価、卸単価を数値型から文字列型に変換して
『SPACE』関数と組み合わせて
文字列の結合を行ってみたいと思います。
SELECT 商品ID,仕入単価,卸単価,(STR(仕入単価) + SPACE(3) + STR(卸単価)) 文字列仕入卸単価
FROM 商品マスタ
図5
図5の様に、
前回の結果と違い、数値型が文字列型に変換された為に
文字列の結合が可能となり、結果が返ってきたのが分かります。
その結果、文字列に変換された事が確認できます。
今回は、基本的な使用方法を説明しましたが、
色々な使い方がありますので是非、使用して試してみてください。
次回も引き続き、
『文字列関数』の説明を行います。
ブログランキングに参加しています。
---------------------------------------------------------------------------------------------------------------
■ 弊社の事をお知りになりたい方
■ 弊社へ入社希望の方(転職希望の方)
■ その他、ご相談やご連絡を取りたい方は
画面上部の「オ-ナ-へメッセ-ジ」よりご連絡を下さい。
図1の様な『商品マスタ』の
テーブルデータが存在していたとします。
商品マスタ
図1
図1の『商品マスタ』を基に
文字列関数(SPACE・STR)についての
説明を行っていきたいと思います。
① 『SPACE』
指定した文字数分の空白の文字列を返す関数です。
書式としましては以下の様になります。
≪SQL SERVER≫
【書式】
SPACE(number)
【引数】
number:スペース文字数
【戻り値】
スペース文字列
それでは『SPACE』について実際に行ってみたいと思います。
商品マスタ・商品名とグループ名の間にスペース3文字を入れて
結合してみます。
SELECT 商品ID,商品名,グループ名,(商品名 + SPACE(3) + グループ名) 商品グループ名
FROM 商品マスタ
図2
図2の様に、
『商品マスタ・商品名』と『商品マスタ・グループ名』の間に
スペースが挿入されたのが分かります。
② 『STR』
数値型から文字列型に変換した文字列を返す関数です。
書式としましては以下の様になります。
≪SQL SERVER≫
【書式】
STR(number,[length,[digit]])
【引数】
number:変換される数値式、数値
length:変換後の文字列の長さ
digit :変換後の小数点部の文字列の長さ
【戻り値】
変換された文字列
それでは『STR』について実際に行ってみたいと思います。
商品マスタ・仕入単価を数値型から文字列型に変換してみます。
小数点以下のデータが存在しない為、
固定値で小数点以下の変換の確認も行ってみたいと思います。
SELECT 商品ID,仕入単価,STR(仕入単価,5) 文字列仕入単価,STR(123.456,7,2) 文字列小数部有
FROM 商品マスタ
図3
図3の様に、
取得結果列名、『商品マスタ・文字列仕入単価』の内容を確認しますと
変換文字列数を5文字で指定した為に、
6桁以上ある『商品マスタ・仕入単価』は変換が出来ないと
判断された為に、『*』が返されます。
取得結果列名、『文字列小数部有』の内容を確認しますと
変換文字列数を7文字で指定した為に、小数点を含めても変換は可能ですが、
小数点部分文字列の指定を2文字と指定した為、
小数点以下第3位が変換されないのが分かります。
ちなみに小数点部の文字列の長さを指定しないと、
デフォルト値で『0』が指定されます。
それでは、実際に文字列に変換されたかを確認してみたいと思います。
先ずは、商品マスタ・仕入単価、卸単価を数値型のまま、
『SPACE』関数と組み合わせて
文字列の結合を行ってみたいと思います。
SELECT 商品ID,商品名,仕入単価 + space(3) + 卸単価
FROM 商品マスタ
図4
図4の様に、
商品マスタ・仕入単価、卸単価が数値型のままの為、
エラーが返されたのが分かります。
次に、商品マスタ・仕入単価、卸単価を数値型から文字列型に変換して
『SPACE』関数と組み合わせて
文字列の結合を行ってみたいと思います。
SELECT 商品ID,仕入単価,卸単価,(STR(仕入単価) + SPACE(3) + STR(卸単価)) 文字列仕入卸単価
FROM 商品マスタ
図5
図5の様に、
前回の結果と違い、数値型が文字列型に変換された為に
文字列の結合が可能となり、結果が返ってきたのが分かります。
その結果、文字列に変換された事が確認できます。
今回は、基本的な使用方法を説明しましたが、
色々な使い方がありますので是非、使用して試してみてください。
次回も引き続き、
『文字列関数』の説明を行います。
ブログランキングに参加しています。
---------------------------------------------------------------------------------------------------------------
■ 弊社の事をお知りになりたい方
■ 弊社へ入社希望の方(転職希望の方)
■ その他、ご相談やご連絡を取りたい方は
Posted by JOB CAFE at 09:38│Comments(0)
│SQL