pgsql里面没有直接判断数字的函数,需要自己创建一个函数,然后在后续调用。
以下创建了一个is_numeric的函数,入参txtstr为需要验证的字符串,验证通过则会返回bool类型值
CREATE OR REPLACE FUNCTION "public"."is_numeric"("txtstr" varchar)RETURNS "pg_catalog"."bool" AS $BODY$BEGINRETURN txtStr ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$' ;END
$BODY$LANGUAGE plpgsql VOLATILECOST 100
使用示例:
SELECT ('123')as vname WHERE is_numeric('245')