Table of ContentsPreviousNext

Ispirer             Ispirer


Ispirer SQLWays データベース移行ソフトウェア

文字列から数値への変換

このサブセクションでは様々なデータベースでの文字列を数値に変換する関数とSQLWaysによる変換について記述します。

TABLE 51. 文字列から数値への変換
データベース
構文
説明
Oracle
TO_NUMBER (exp1 [, 
exp2 [, exp3]] ) 
CHAR、VARCHAR2、NCHAR、NVARCHAR2データ型の値である exp1をオプションの書式モデルexp2の形式でNUMBERデータ型の値に変換します。
返却値のデータ型: NUMBER
 
The exp3 は数値書式で使用される以下のような文字を指定
� 小数点記号
� 桁区切り記号
� ローカル通貨記号
� 国際通貨記号
 
数値書式モデル (exp2) は以下に示す一つ以上の数値書式要素から構成されます
要素
説明
, (カンマ)
9,999
指定位置にカンマを返します。複数のカンマが指定可能
制約:
� カンマ要素は数値書式モデルの先頭に指定できません
� カンマは小数点の右や数値書式モデルの終端に指定できません
. (ピリオド)
99.99
小数点を返します。小数点は指定位置のピリオド(.)です。
制約: ピリオドはひとつだけ指定します
$
$9999
先頭のドル記号を返します
0
0999
先頭にゼロを返します
9990
末尾にゼロを返します
 
 
9
9999
指定された数の数字を返します。値が整数なら先頭にスペースを負数なら先頭にマイナス符号を付加
先頭のゼロは空白になります。但し固定小終点の整数部の値がゼロの場合はゼロが設定されます
B
B9999
固定小数点の整数部の値がゼロの場合に空白を設定します(書式モデルでの"0"の記述に関わらず)
C
C999
指定した位置にISO通貨記号を返します(現在のNSL_ISO_CURRENCYパラメータの値は exp3に指定)。
EEEE
9.9EEEE
科学的記数法による値を返します
D
99D99
指定された位置に小数点文字を返します。現在のNLS_NUMERIC_CHARACTERパラメータの値は exp3で指定。デフォルトはピリオド (.) です。
制約: 小数点文字はひとつだけ指定できます
FM
FM90.9
先頭または末尾の空白を削除した値を返します
 
 
G
9G999
指定した位置にグループ分離文字を返します(現在のNLS_NUMERIC_CHARACTERパラメータの値はexp3で指定)。 複数のグループ分離文字が数値書式モデルに指定できます。
Restriction: A group separator cannot appear to the right of a decimal character or period.
L
L999
指定した位置にローカル通貨記号を返します(現在のNLS_CURRENCTYパラメータの値はexp3で指定)。
MI
9999MI
負の値の先頭にマイナス記号 (-) を返します。正の値の場合は空白を返します。
制約: MI 書式要素は数値書式モデルの最後の位置にのみ指定できます。
PR
9999PR
負の値を<山括弧>で返します。正の値は先頭及び末尾を空白に設定して返します。
制約: PR 書式要素は数値書式モデルの最後の位置にのみ指定できます。
RN
RN
値を大文字のローマ数字で返します。値は1から3999の間の整数です。
 
 
rn
rn
値をローマ数字の小文字で返します。値は1から3999の間の整数です。
S
S9999
負の数を先頭にマイナス記号 (-) を付けて返します。正の数には先頭にプラス記号 (+) を付けます。
制約: S 書式要素は数値書式モデルの最後の位置にのみ指定できます。
9999S
負の数を末尾にマイナス記号 (-) を付けて返します。正の数には末尾にプラス記号 (+) を付けます。
TM
TM
"テキストの最小値"です。できるだけ少ない文字列を10進数で返します。この要素は大文字小文字を区別しません。
デフォルトは TM9 です。デフォルトでは返り値が64文字を超えない限り、固定表記法で文字の数を返します。返り値が64文字を超える場合、Oracleは自動的に科学表記法(指数表現)で文字の数を返します。
制約
� この要素の前に他の要素を指定することはできません
� この要素の後には一つの 9、E、または e のみを指定できます
 
 
U
U9999
指定した位置に"ユーロ" (または他の) 第2通貨記号 (現在のNLS_DUAL_CURRENCY パラメータの値はexp3で指定)
V
999V99
値を10のn乗(必要に応じ数値を丸めます)にて返します。ここで、n は "V". の後の9で示されます。
X
XXXX
指定の桁数の16進数の値を返します。もし指定された数が整数でない場合、Oracleは値を整数値に丸めます。
Restrictions:
� この要素は正の値またはゼロのみを受け入れます。値が負の場合、エラーを返します。
� この要素の前には、ゼロまたはFMのみ指定可能です。それ以外の要素にはエラーを返します。もしゼロまたはFMを指定しないと、戻り値の前に空白が一つ設定されます。
MySQL
CAST (exp1 AS 
UNSIGNED [INTEGER]) 
  
CAST (exp1 AS SIGNED 
[INTEGER])	 
exp1 の値を UNSIGNED または SIGNED INTEGER データ型に変換します。
 
もし数値演算(+のような)が使用され、演算対象に符号なし整数が含まれる場合、結果の値は符号なしで返されます。演算結果はSIGNED および UNSIGNED キャスト演算子により符号付または符号なしの64bit 整数に変換することができます。


Table of ContentsPreviousNext
Ispirer             Ispirer
Copyright © 1999-2015 Ispirer Systems Ltd. Ispirer and SQLWays are trademarks of Ispirer Systems Ltd. All other product names may be trademarks of the respective companies. All rights reserved.