转储功能不显示字符集
Dump function doesn't show character-set
我正在尝试检查哪个字符集 DBMS_METADATA.GET_DDL()
正在返回结果。我试着那样检查它。
SELECT DUMP(
CAST(
DBMS_METADATA.GET_DDL('FUNCTION', 'MyFUNCTION', 'SCHEME')
AS VARCHAR2(4000)
),
16
)
FROM dual
但是它没有显示字符集。我只得到这样的结果:
Typ=1 Len=1739: a,2...
我的NLS_CHARACTERSET
returnsWE8MSWIN1252
。 GET_DDL()
returns也在这个字符集中吗?
将第二个转储参数从 16 更改为 1016:
SELECT dump (CAST(DBMS_METADATA.GET_DDL('FUNCTION', 'MyFUNCTION', 'SCHEME') AS VARCHAR2(4000)), 16) FROM DUAL
Typ=1 Len=126 CharacterSet=AL32UTF8: a ...
这个解释in the documentation:
By default, the return value contains no character set information. To retrieve the character set name of expr, add 1000 to any of the preceding format values.
您还问过:
My NLS_CHARACTERSET
returns WE8MSWIN1252
. Does GET_DDL returns also in this characterset?
您正在将 GET_DDL 调用的结果转换为 varchar2,因此转储将告诉您该转换值的字符集,该字符集将在您的 NLS_CHARACTERSET 中。 GET_DDL实际返回的值是一个CLOB,它也会在你的NLS_CHARACTERSET.
中
我正在尝试检查哪个字符集 DBMS_METADATA.GET_DDL()
正在返回结果。我试着那样检查它。
SELECT DUMP(
CAST(
DBMS_METADATA.GET_DDL('FUNCTION', 'MyFUNCTION', 'SCHEME')
AS VARCHAR2(4000)
),
16
)
FROM dual
但是它没有显示字符集。我只得到这样的结果:
Typ=1 Len=1739: a,2...
我的NLS_CHARACTERSET
returnsWE8MSWIN1252
。 GET_DDL()
returns也在这个字符集中吗?
将第二个转储参数从 16 更改为 1016:
SELECT dump (CAST(DBMS_METADATA.GET_DDL('FUNCTION', 'MyFUNCTION', 'SCHEME') AS VARCHAR2(4000)), 16) FROM DUAL
Typ=1 Len=126 CharacterSet=AL32UTF8: a ...
这个解释in the documentation:
By default, the return value contains no character set information. To retrieve the character set name of expr, add 1000 to any of the preceding format values.
您还问过:
My
NLS_CHARACTERSET
returnsWE8MSWIN1252
. Does GET_DDL returns also in this characterset?
您正在将 GET_DDL 调用的结果转换为 varchar2,因此转储将告诉您该转换值的字符集,该字符集将在您的 NLS_CHARACTERSET 中。 GET_DDL实际返回的值是一个CLOB,它也会在你的NLS_CHARACTERSET.
中