在oracle sql中使用MOD时,出现错误[已关闭]

gjmwrych  于 2022-12-03  发布在  Oracle
关注(0)|答案(1)|浏览(141)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
2天前关闭。
Improve this question
这是我的代码-code
错误-正在调用的参数数目或类型=
我认为这是一个语法错误。我得到同样的错误在我的大多数代码

krcsximq

krcsximq1#

语法错误。

SQL> CREATE OR REPLACE FUNCTION comparisonlike (g IN VARCHAR2)
  2     RETURN VARCHAR2
  3  AS
  4  BEGIN
  5     RETURN CASE WHEN MOD (g, 2) = 0 THEN 'EVEN' ELSE 'ODD' END;
  6  END;
  7  /

Function created.

SQL> select comparisonlike(25) result from dual;

RESULT
--------------------
ODD

SQL> select comparisonlike(12) result from dual;

RESULT
--------------------
EVEN

SQL>

如果要将校验位 * 锚定 * 到字符串的末尾,则

SQL> CREATE OR REPLACE FUNCTION comparisonlike (g IN VARCHAR2)
  2     RETURN VARCHAR2
  3  AS
  4  BEGIN
  5     RETURN CASE WHEN MOD (TO_NUMBER(REGEXP_SUBSTR(g, '\d$')), 2) = 0 THEN 'EVEN'
  6                 ELSE 'ODD'
  7            END;
  8  END;
  9  /

Function created.

SQL> SELECT comparisonlike(22) res_1,                    --> 22 is being checked
  2         comparisonlike('1st great result13') res_2   --> 13 is being checked
  3  FROM dual;

RES_1      RES_2
---------- ----------
EVEN       ODD

SQL>

相关问题