如何将瑞典字符插入NVARCHAR2 Oracle表列类型?

时间:2017-02-10 19:37:31

标签: oracle

我这样插入:

insert into s_test values('Länsförsäkringar');

取回这个:

select * from s_test;

L�nsf�rs�kringar

这里 是替换char \ 003F

期望:

select * from s_test;

Länsförsäkringar

相关的NLS参数:

NLS_NCHAR_CHARACTERSET  AL16UTF16
NLS_LANGUAGE    AMERICAN
NLS_TERRITORY   AMERICA
NLS_CHARACTERSET    US7ASCII
NLS_LENGTH_SEMANTICS    BYTE
NLS_RDBMS_VERSION   11.2.0.3.0

表:

CREATE TABLE "S_TEST" 
   (    "COL1" NVARCHAR2(100) ) ;

如何将瑞典语字符串插入Oracle NVARCHAR2列类型?

1 个答案:

答案 0 :(得分:1)

使用N

insert into s_test values(N'Länsförsäkringar');

https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#SQLRF00218

  

文本文字或字符串的语法如下:

     

enter image description here

     

其中N或n使用国家字符集指定文字   (NCHAR或NVARCHAR2数据)。默认情况下,使用此输入的文本   符号被翻译成国家字符集   服务器使用时的数据库字符集。为了避免潜力   在文本文字转换到数据库期间丢失数据   字符集,设置环境变量ORA_NCHAR_LITERAL_REPLACE   为真。这样做是透明地替换内部和   保留SQL处理的文本文字。