Re: MS SQL Server 2005 のint,money,bitについてのデータ型の変換について
Jiro123
投稿数: 271
すみません。ExcelコンポーネントでCellメソッドで取得したデータは文字型でしたね。
そこまで頭が回りませんでした。それならば変換は必要ですね。
数値文字列を数値型に変換するには、Val関数を使います。
ご提示のVal関数の使い方は、Val関数の書式のところが間違っています。
負数データの場合の書式には「N」が必要になります。
例えば、フロー変数「F.String1(文字型)」の書式が3だとすると、-99から999までの数値文字列が格納できますよね。
このフロー変数を数値型に変換するには、
Val(F.String1,'N3')、または、
Val(F.String1,'N###')、または、
Val(F.String1,'N#3')
と記述します。
数値型で書式がN3だと、数値データの有効範囲は-999から999になるのですが、数値文字列の場合は、マイナス記号も1バイトの文字となります。
数値文字列の数値としての有効範囲を考慮して、Val関数の書式を指定します。
文字型の書式が3の場合は、上述の通り、数値文字列としては、-99から999が有効範囲となり、整数だと3桁まで有効になるので、Val関数の書式は「'N3'」となります。
定数「'-1'」の場合は、定数の数値文字列の数値としての有効範囲を考慮して、書式を指定すると、
Val('-1','N1')、または、
Val('-1','N#')、
と記述できます。
Val('-1','N#1')と記述してもよいですが、このような書式の記述はあまりしないですね。
jBOLTの関数の記述は、Magic uniPaaSの関数と同じです。
Magic uniPaaSを知っていると、jBOLTでの関数の記述が容易になります。
ご参考ください。
そこまで頭が回りませんでした。それならば変換は必要ですね。
数値文字列を数値型に変換するには、Val関数を使います。
ご提示のVal関数の使い方は、Val関数の書式のところが間違っています。
負数データの場合の書式には「N」が必要になります。
例えば、フロー変数「F.String1(文字型)」の書式が3だとすると、-99から999までの数値文字列が格納できますよね。
このフロー変数を数値型に変換するには、
Val(F.String1,'N3')、または、
Val(F.String1,'N###')、または、
Val(F.String1,'N#3')
と記述します。
数値型で書式がN3だと、数値データの有効範囲は-999から999になるのですが、数値文字列の場合は、マイナス記号も1バイトの文字となります。
数値文字列の数値としての有効範囲を考慮して、Val関数の書式を指定します。
文字型の書式が3の場合は、上述の通り、数値文字列としては、-99から999が有効範囲となり、整数だと3桁まで有効になるので、Val関数の書式は「'N3'」となります。
定数「'-1'」の場合は、定数の数値文字列の数値としての有効範囲を考慮して、書式を指定すると、
Val('-1','N1')、または、
Val('-1','N#')、
と記述できます。
Val('-1','N#1')と記述してもよいですが、このような書式の記述はあまりしないですね。
jBOLTの関数の記述は、Magic uniPaaSの関数と同じです。
Magic uniPaaSを知っていると、jBOLTでの関数の記述が容易になります。
ご参考ください。
投票数:0
平均点:0.00
投稿ツリー
-
MS SQL Server 2005 のint,money,bitについてのデータ型の変換について
(hitachijoho, 2010-8-5 16:29)
- Re: MS SQL Server 2005 のint,money,bitについてのデータ型の変換について (Jiro123, 2010-8-5 17:50)
-
Re: MS SQL Server 2005 のint,money,bitについてのデータ型の変換について
(hitachijoho, 2010-8-5 19:47)
- Re: MS SQL Server 2005 のint,money,bitについてのデータ型の変換について (Jiro123, 2010-8-6 10:41)
- Re: MS SQL Server 2005 のint,money,bitについてのデータ型の変換について (hitachijoho, 2010-8-6 14:18)