Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 関数 » SQL 関数 (E ~ O)

 

ISNUMERIC 関数 [その他]

文字列の引数が有効な数値であるかどうかを判断します。

構文
ISNUMERIC( string )
パラメータ
  • string   文字列が有効な数値を表すかどうかを判断するために分析される文字列。

戻り値

INT

備考

ISNUMERIC は、入力文字列が有効な整数または浮動小数点値であると評価される場合は 1、そうでない場合は 0 を返します。また、文字列に空白のみが含まれているか、または NULL である場合も 0 を返します。

次の例も、ISNUMERIC 関数から 0 を返します。

  • 文字 d または D を指数セパレータに使用する値。たとえば 1d2 です。

  • NAN、0x12、INF、INFINITY などの特殊な値。

  • NULL (例:SELECT ISNUMERIC( NULL );)

標準と互換性
  • SQL/2003   ベンダ拡張。

次の例は、外部ファイルからデータをインポートし、無効な値があるローをエクスポートし、残りのローを永久テーブルにコピーします。この例では、ISNUMERIC 文を使用して height_in_cms 値が数値であることを検証します。

CREATE GLOBAL TEMPORARY TABLE MyData(
      person VARCHAR(100),
      birth_date VARCHAR(30),
      height_in_cms VARCHAR(10)
   ) ON COMMIT PRESERVE ROWS;
   LOAD TABLE MyData FROM 'exported.dat';
   UNLOAD
      SELECT *
      FROM MyData
      WHERE ISDATE( birth_date ) = 0
  OR ISNUMERIC( height_in_cms ) = 0
   TO 'badrows.dat';
   INSERT INTO PermData
      SELECT person, birth_date, height_in_cms
      FROM MyData
      WHERE ISDATE( birth_date ) = 1
  AND ISNUMERIC( height_in_cms ) = 1;
   COMMIT;
   DROP TABLE MyData;