你的数据库字符集是?
我在这里用sql可以SQL> insert into aa 
  2  select substr('甲',1,1) from dual;1 row created.SQL> select * from aa;AA
--
?SQL> insert into aa select * from aa;1 row created.SQL> select * from aa;AA
--
?

解决方案 »

  1.   

    我用了
    insert into aa select substr('甲',1,1) from dual;
    再用
    select * from aa;
    结果居然就是

    看来我的oracle是支持中文的,所以它就没办法支持半个汉字啦
    我应该怎么改啊
      

  2.   

    原始数据是从另一个系统中导出来的,转换成了txt文件,奇怪的是那个系统也用的是oracle,它的数据来源也是txt文件,不过那个系统是用oracle的sql load 工具把数据导到oracle中的。
      

  3.   

    如果是txt文件,半个汉字没有关系。
      

  4.   

    唉,我当然知道txt文件中半个汉字没关系。可是我从txt文件中读入的字符串要
    导入到oracle中的啊,这时候就出问题了
      

  5.   

    我是怀疑你的pro*c程序把汉字截掉的,pro*c很容易干这事。比如繁体字可能是你截掉半个汉字的后遗症。
      

  6.   

    在字符串最后加上一个空格就可以保存
    看看我的帖子:http://expert.csdn.net/Expert/topic/2122/2122490.xml?temp=.8850977
      

  7.   

    1  client是ZHS16cGB231280时,
    (1)select '樑' from dual;      会报错
    (2)select '樑 ' from dual;      不会报错2  client是ZHS16GBK时
    都不会报错
      

  8.   

    错误提示是:
    ERROR:
    ORA-01756: quoted string not properly terminated
      

  9.   

    问题解决了,我的server端是GBK,client是GB231280,我把client改为GBK就可以了