IS_NUMBER
文字列が正しい数値であるかどうかを返します。
正しい数値は、以下の要素から構成されています。
- •数値の前のスペース(なくともよい)
- •符号(+/-)(なくともよい)
- •1つまたは複数の数字、および小数点(なくともよい)
- •科学的記法(なくともよい)。たとえば、文字‘e’または‘E’(Windowsでは文字‘d’または‘D’)に符号(+/-)が続き、そのあとに1つまたは複数の数字が続く(符号はなくともよい)。
- •数値のあとのスペース(なくともよい)
以下のものはすべて正しい数値です。
' 100 '
' +100'
'-100'
'-3.45e+32'
'+3.45E-32'
'+3.45d+32' (Windows only)
'+3.45D-32' (Windows only)
'.6804'
IS_NUMBER式のターゲットカラムは、Stringデータ型またはNumericデータ型でなければなりません。
IS_NUMBERを使用して、フラットファイル内のデータをテストまたはフィルタリングしてから、ターゲットに書き込むこともできます。
構文
IS_NUMBER( value )
引数 | 必須/ オプション | 説明 |
---|
value | 必須 | 文字列データ型であること。評価したい行を渡します。有効な式を必要に応じて入力できます。 |
戻り値
行が正しい数値の場合は、TRUE(1)。
行が正しい数値でない場合は、FALSE(0)。
式の中の値がNULL値である場合は、NULL。
例
次の式は、ITEM_PRICEカラムの値が正しい数値であるかどうかを確認します。
IS_NUMBER( ITEM_PRICE )
ITEM_PRICE | RETURN VALUE |
---|
'123.00' | 1 (True) |
'-3.45e+3' | 1 (True) |
'-3.45D-3' | 1 (True - Windows only) |
'-3.45d-3' | 0 (False - UNIX only) |
'3.45E-' | 0 (False) Incomplete number |
' ' | 0 (False) Consists entirely of whitespace |
'' | 0 (False) Empty string |
'+123abc' | 0 (False) |
' 123' | 1 (True) Leading whitespace |
'123 ' | 1 (True) Trailing whitespace |
'ABC' | 0 (False) |
'-ABC' | 0 (False) |
NULL | NULL |
TO_FLOATなどの数値変換関数を実行する前に、IS_NUMBERを使用してデータをテストできます。例えば、次の式はITEM_PRICEカラムの値を検査し、有効な数字を倍精度の浮動小数点値に変換します。値が有効な数値でない場合、データ統合は0.00を返します。
IIF( IS_NUMBER ( ITEM_PRICE ), TO_FLOAT( ITEM_PRICE ), 0.00 )
ITEM_PRICE | RETURN VALUE |
---|
'123.00' | 123 |
'-3.45e+3' | -3450 |
'3.45E-3' | 0.00345 |
' ' | 0.00 Consists entirely of whitespace |
'' | 0.00 Empty string |
'+123abc' | 0.00 |
'' 123ABC' | 0.00 |
'ABC' | 0.00 |
'-ABC' | 0.00 |
NULL | NULL |