Oracle 如何在输入为数字形式时以文本形式输出
如何获得字符/字母形式的数字/数字输出? 就像我输入的一样:-1234 然后输出应该是:-一二三四和(在其他条件下)一 一千二百三十四。试试这个Oracle 如何在输入为数字形式时以文本形式输出,oracle,plsql,Oracle,Plsql,如何获得字符/字母形式的数字/数字输出? 就像我输入的一样:-1234 然后输出应该是:-一二三四和(在其他条件下)一 一千二百三十四。试试这个 select to_char(to_date(1234, 'j'), 'jsp') from dual 输出将是 一千二百三十四试试这个 select to_char(to_date(1234, 'j'), 'jsp') from dual 输出将是 一千二百三十四个执行下面的函数 CREATE OR REPLACE FUN
select to_char(to_date(1234, 'j'), 'jsp') from dual
输出将是
一千二百三十四试试这个
select to_char(to_date(1234, 'j'), 'jsp') from dual
输出将是
一千二百三十四个执行下面的函数
CREATE OR REPLACE FUNCTION NUMTOWORDS (P_IN IN NUMBER)
RETURN VARCHAR2
IS
V_WORDS VARCHAR2 (20) := '';
V_CHAR VARCHAR2 (20) := '';
V_LENGTH NUMBER;
TYPE ARRAY_TYPE IS VARRAY (10) OF VARCHAR2 (10);
V_ARRAY ARRAY_TYPE := ARRAY_TYPE ('ZERO', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE');
BEGIN
SELECT LENGTH (TO_CHAR (P_IN)) INTO V_LENGTH FROM DUAL;
FOR I IN 1 .. V_LENGTH
LOOP
V_CHAR := V_ARRAY ( (TO_NUMBER (SUBSTR (TO_CHAR (P_IN), I, 1)) + 1));
V_WORDS := CONCAT (V_WORDS, CONCAT (V_CHAR, ' '));
END LOOP;
RETURN TRIM (V_WORDS);
END;
“”从双目录中选择NUMTOWORDS(674) 执行下面的函数
CREATE OR REPLACE FUNCTION NUMTOWORDS (P_IN IN NUMBER)
RETURN VARCHAR2
IS
V_WORDS VARCHAR2 (20) := '';
V_CHAR VARCHAR2 (20) := '';
V_LENGTH NUMBER;
TYPE ARRAY_TYPE IS VARRAY (10) OF VARCHAR2 (10);
V_ARRAY ARRAY_TYPE := ARRAY_TYPE ('ZERO', 'ONE', 'TWO', 'THREE', 'FOUR', 'FIVE', 'SIX', 'SEVEN', 'EIGHT', 'NINE');
BEGIN
SELECT LENGTH (TO_CHAR (P_IN)) INTO V_LENGTH FROM DUAL;
FOR I IN 1 .. V_LENGTH
LOOP
V_CHAR := V_ARRAY ( (TO_NUMBER (SUBSTR (TO_CHAR (P_IN), I, 1)) + 1));
V_WORDS := CONCAT (V_WORDS, CONCAT (V_CHAR, ' '));
END LOOP;
RETURN TRIM (V_WORDS);
END;
“”从双目录中选择NUMTOWORDS(674) 请注意,这只适用于5373484以下的值。这可能就是OP所需的全部内容。您可以直接使用,而无需在SP中选择,例如,to_char(to_date(1234,'j'),'jsp'),请使用过程程序进行解释。。感谢您发布要在其中使用此功能的示例SP。然后我会补充和解释you@D'可能会看到Gaj之前的评论(在10:21Z)-您可以将
赋给_char(to_date(1234,'j'),'jsp')
赋给过程中的一个变量。请注意,这只适用于5373484以下的值。这可能就是OP所需的全部内容。您可以直接使用,而无需在SP中选择,例如,to_char(to_date(1234,'j'),'jsp'),请使用过程程序进行解释。。感谢您发布要在其中使用此功能的示例SP。然后我会补充和解释you@D'可能会看到Gaj之前的评论(在10:21Z)-您可以将分配给_char(to_date(1234,'j'),'jsp')
分配给过程中的一个变量。