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 函数 [Miscellaneous]

确定字符串参数是否为有效数。

语法
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;