Oracle 使用长度PL/SQL将数字转换为单词

Oracle 使用长度PL/SQL将数字转换为单词,oracle,plsql,oracle11g,Oracle,Plsql,Oracle11g,我正在使用长度函数将数字转换为单词,并使用自己的代码 代码如下: CREATE OR REPLACE FUNCTION num_to_words (NUM IN NUMBER) RETURN VARCHAR2 IS v_length NUMBER; v_words VARCHAR2(100); word_1 VARCHAR2(100); BEGIN word_1 := 'HUNDRED'; v_length := LENGTH(NUM); IF v_length = 3 THEN v_wo

我正在使用长度函数将数字转换为单词,并使用自己的代码

代码如下:

CREATE OR REPLACE FUNCTION num_to_words (NUM IN NUMBER)
RETURN VARCHAR2
IS

v_length NUMBER;
v_words VARCHAR2(100);
word_1 VARCHAR2(100);

BEGIN
word_1 := 'HUNDRED';
v_length := LENGTH(NUM);

IF v_length = 3
THEN v_words := SUBSTR(TO_CHAR(TO_DATE(NUM,'J'),'JSP'),1,3) ||' '|| word_1;
END IF;

RETURN(v_words);
END;
问题是当我输入“100”时,它成功地转换为“100”


如何实现将“101”转换为“101”的代码。

JSP转换将为您实现这一点;您不需要提取第一个数字,也不需要自己提供“100”文本:

  IF v_length <= 3 THEN
    v_words := TO_CHAR(TO_DATE(NUM,'J'),'JSP');
  END IF;

如果v_length则JSP转换将为您实现这一点;您不需要提取第一个数字,也不需要自己提供“100”文本:

  IF v_length <= 3 THEN
    v_words := TO_CHAR(TO_DATE(NUM,'J'),'JSP');
  END IF;

如果v_length我记得这是几年前在问汤姆(和其他地方)时提出来的。“难道没有人为我们英国人补上丢失的ANDs吗?”威廉姆·罗伯逊——在最近的奎斯顿铲球中链接到的线索上,是的。我记得这是几年前在问汤姆(和其他地方)时提出来的。威廉罗伯逊(WilliamRobertson)——在最近的奎斯顿铲球中链接到的线索上,是的。