我需要在一个具有特殊字符的表中更新值。 以下是我已执行的更新查询:
UPDATE TABLE_X
SET DISPLAY_NAME = 'AC¦', NATIVE_IDENTITY='AC¦'
WHERE ID='idNumber'
Oracle中的特殊字符“ ¦”没有更新。
我已经尝试过以下方法:
select * from nls_database_parameters where parameter='NLS_CHARACTERSET';
它具有“ US7ASCII”字符集。
SELECT CONVERT('¦ ', 'ASCII') FROM DUAL;
我尝试了以下不同的编码方式:
在更改数据库中的字符集之前,我想尝试使用Oracle的'CONVERT'功能,但是上述字符集要么返回“块符号”,要么返回“ QuestionMark-”符号。
任何想法如何将这个特殊符号合并到DB中?
答案 0 :(得分:1)
假设所讨论的字符不是US7ASCII character set的一部分,除非您想将其替换为ASCII竖线字符|,否则它似乎不是该字符的一部分,因此您无法有效地将字符存储在数据库中的VARCHAR2
列。
NVARCHAR2
。RAW
列中将某个字符的二进制表示形式存储在某个已知的字符集中,然后从应用程序逻辑中的二进制表示形式进行转换。我希望更改数据库字符集,但这可能是一个重大更改。