你的写法没有错
insert into table1(field1) values(chr(185)||chr(178));
insert into table1(field1) values(chr(97));
commit;
已创建 1 行。
已创建 1 行。
提交完成
select * from table1;FIELD1
------a已选择2行。有2行,说明插入成功

解决方案 »

  1.   

    chr(185)||chr(178) is NULL?
      

  2.   

    平常我们经常在字符串中插入硬回车换行。chr(13)||chr(10)
    插入和SELECT都没有问题。也占两个字符。
      

  3.   

    但是ASCII为185的字符长度怎么会是0呢?
    如下:
    SQL> select length(chr(185)) from dual;LENGTH(CHR(185))
    ----------------
                   0
      

  4.   

    '中'的字符是由ASCII码为214和208的两个字符组成
    但如果用insert into table1 values(chr(214)||chr(208));
    得到却是
    SQL> select * from table1;FIELD1
    ------而不是'中'
      

  5.   

    为什么会有这样的结果???SQL> select ascii(chr(185)) from dual;ASCII(CHR(185))
    ---------------
              47360
      

  6.   

    SQL> select ascii(chr(128)) from dual;ASCII(CHR(128))
    ---------------
                128SQL> select ascii(chr(129)) from dual;ASCII(CHR(129))
    ---------------
              33024
    chr(128) 以前的返回的是對應的ASCII碼
    chr(128) 以後的都是上一個數加256的結果,