【发布时间】:2017-10-31 21:43:57
【问题描述】:
请在下面找到我的功能:
CREATE OR REPLACE FUNCTION TESTER_TESTING ( P_STRING IN VARCHAR2)
RETURN NUMBER IS
BEGIN
Dbms_Output.Put_Line('P_STRING:'||P_STRING);
return 1;
END TESTER_TESTING;
/
当我使用 sqlplus 执行时:
DECLARE
RetVal NUMBER;
P_STRING VARCHAR2(32767);
BEGIN
P_STRING := '006µ-540';
RetVal := VISION.TESTER_TESTING ( P_STRING );
DBMS_OUTPUT.Put_Line('RetVal = ' || TO_CHAR(RetVal));
DBMS_OUTPUT.Put_Line('');
COMMIT;
END;
/
输出是: P_STRING:006??-540 RetVal = 1
请告知为什么特殊字符没有被传递以及如何修复它。
-Oracle Version: 11g
-Linux: RHEL 7.2
-Script executed using sqlplus.
【问题讨论】:
-
使用 Toad 执行时。它正确地传递了值。
标签: oracle plsql oracle11g sqlplus