sql 在PL / SQL中拼写数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 在PL / SQL中拼写数字相关的知识,希望对你有一定的参考价值。
CREATE OR REPLACE FUNCTION spell_number(p_number IN NUMBER)
RETURN VARCHAR2 AS
TYPE myarray IS TABLE OF VARCHAR2(255);
l_str myarray := myarray(
'',
' thousand ',
' million ',
' billion ',
' trillion ',
' quadrillion ',
' quintillion ',
' sextillion ',
' septillion ',
' octillion ',
' nonillion ',
' decillion ',
' undecillion ',
' duodecillion '
);
l_num VARCHAR2(50) DEFAULT trunc(p_number);
l_return VARCHAR2(4000);
BEGIN
FOR i IN 1 .. l_str.count LOOP
EXIT WHEN l_num IS NULL;
IF (substr(l_num, length(l_num) - 2, 3) <> 0) THEN
l_return :=
to_char(to_date(substr(l_num, length(l_num) - 2, 3), 'J'), 'Jsp') || l_str(i) || l_return;
END IF;
l_num := substr(l_num, 1, length(l_num) - 3);
END LOOP;
RETURN l_return;
END;
以上是关于sql 在PL / SQL中拼写数字的主要内容,如果未能解决你的问题,请参考以下文章
在 PL/SQL 中动态声明变量
pl/sql 从数字到字符串的转换
获取 ORA-06502:PL/SQL:数字或值错误:SQL 触发器中的字符到数字转换错误
如何在 PL-SQL 中舍入数字?
ORA-06502: PL/SQL: 数字或值错误: 数字精度太大
ORA-06502 PL/SQL:数字或值错误:字符到数字的转换错误;