substrb是按字节取的,但是我发现substr也是按字节的啊,测试了几个没发现不同啊另:
substrb('111你好啊',0,6)
substr('111你好啊',0,6)
返回的都是111你
但我用length发现长度都为 6 ,为什么

解决方案 »

  1.   

    与你的db有关
    SQL> select substr('111你好吗',0,6) from dual;SUBSTR('1
    ---------
    111你好吗SQL> select substrb('111你好吗',0,6) from dual;SUBSTR
    ------
    111你
      

  2.   

    估计你是对列选择的,
    那烈其实是nvarchar2
      

  3.   

    可能的原因:
    1.是否设计NVARCHAR2 和 VARHCHAR2的使用?
    2.中文字符对应字节的设置 ,不是每个ORACLE系统都是一个中文字符=2个字节的 你看看你门数据库的设置