Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION is_numeric(number_str VARCHAR2) RETURN BOOLEAN IS
- x_is_numeric PLS_INTEGER := 0;
- BEGIN
- SELECT XMLELEMENT ("ROWSET",
- XMLAGG (
- XMLELEMENT("ROW", xmlattributes(ROWNUM AS "num"),
- XMLELEMENT ("STRING_VAL", REPLACE(number_str, ',', '.'))
- ))
- ).transform(XMLTYPE.createXML(
- '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">' ||
- '<xsl:output method="text"/>' ||
- '<xsl:template match="ROW">' ||
- '<xsl:variable name="str"><xsl:value-of select="STRING_VAL"/></xsl:variable>' ||
- '<xsl:variable name="num">' ||
- ' <xsl:if test="number($str)=number($str)">' ||
- ' <xsl:value-of select="''X''"/>' ||
- ' </xsl:if>' ||
- '</xsl:variable>' ||
- '<xsl:value-of select="string-length($num)"/>' ||
- '</xsl:template>' ||
- '</xsl:stylesheet>')).getStringVal() AS RES
- INTO x_is_numeric
- FROM dual;
- RETURN x_is_numeric > 0;
- END is_numeric;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement