ISNUMERIC
功能描述
ISNUMERIC函数用于判断表达式是否为有效的数值类型。
若表达式的计算结果为有效的数值数据类型则返回 1 ;否则返回 0 。有效的数值类型包括如下项:
区域 | 数字数据类型 |
---|---|
精确数字 | bigint、int、smallint、tinyint、bit |
固定精度 | decimal、numeric |
近似 | float、real |
货币值 | money、smallmoney |
注意事项
该功能仅在数据库兼容模式为SQL Server时支持(即数据库实例初始化时指定DBCOMPATIBILITY='MSSQL')。
语法格式
ISNUMERIC ( expression )
参数说明
expression
要计算的表达式。
返回值
INT类型,0 或 1。
示例
示例1: 输入任意精度类型,调用isnumeric函数判断数值类型是否有效。
select isnumeric(123456.122331) r1;
返回结果如下:
r1
----
1
(1 row)
示例2: 在FUNCTION中调用isnumeric函数判断结果有效性。
1、创建function。
CREATE OR REPLACE FUNCTION custom_function(a int) RETURNS void AS $$
BEGIN
RAISE NOTICE 'result %', a;
END;
$$ LANGUAGE plpgsql;
2、调用function。
select custom_function(isnumeric(123));
select custom_function(isnumeric('123a'));
结果返回如下:
NOTICE: result 1
CONTEXT: referenced column: custom_function
custom_function
-----------------
(1 row)
NOTICE: result 0
CONTEXT: referenced column: custom_function
custom_function
-----------------
(1 row)