Я кодирую функцию PL/SQL для отображения словами числа, вставленного из параметра от 0 до 5000, но отображаемый результат отображается на английском языке (как вы можете проверить на скриншоте), но теперь я хочу отобразить результат на испанском языке и я читал о «NLSPARAM», предоставленном в функции TO_CHAR, но я не знаю, как я могу его закодировать. Есть ли у вас какие-либо идеи? Спасибо.
CREATE OR REPLACE FUNCTION letras_a_numeros(p_numero NUMBER)
RETURN VARCHAR2
IS
v_enteros NUMBER(8);
v_decimales NUMBER(8, 2);
v_final_decimales NUMBER(8, 2);
v_salida VARCHAR2(1000);
e_invalido EXCEPTION;
BEGIN
IF
p_numero NOT BETWEEN 0 AND 5000 THEN
RAISE e_invalido;
END IF;
v_enteros := TRUNC(p_numero);
v_decimales := TRUNC(p_numero);
v_final_decimales := SUBSTR(p_numero - v_decimales, 2);
IF
v_enteros = 0 THEN
v_salida := 'Cero';
ELSE
SELECT TO_CHAR(DATE '-4712-01-01' + (v_enteros - 1), 'JSP')
INTO v_salida
FROM dual;
END IF;
IF
v_final_decimales > 0 THEN
RETURN v_salida || ' con ' || v_final_decimales || '/100';
ELSE
RETURN v_salida;
END IF;
EXCEPTION
WHEN e_invalido THEN
RETURN 'Número inválido, ingrese valor entre 0 y 5000';
END letras_a_numeros;