select concat(substrb('花',1,1),substrb('花',2,1)) from dual;
在PL/SQL里看不出是什么结果,不过不是‘花’,这里涉及到截取字符串的问题,
谁能给详解一下。

解决方案 »

  1.   

    OPER@tl>select substr('花',1,1)||substr('花',2,1) from dual;SU
    --
      

  2.   

    select concat(substr('花',1,1),substr('花',2,1)) from dual; 
      

  3.   

    达人,请稍微看清楚一下,是substrb(),按字节截取的那个函数。
      

  4.   

    substr是按字符截取,而substrb是按字节截取,一个汉字在不同的系统中可能
    它的字节长度不一样,用lengthb能查出来它的长度是多少,假如它的长度是3
    的话,你以上使用的sql语句就截不出来了。
      

  5.   

    select ascii('花'),ascii(substr('花',1,1)),ascii(substr('花',2,1)),ascii(substrb('花',1,1)) from dual;
      

  6.   

    经过达人教导,在oracle中这个是截不出来的,因为截不了半个汉字,用ascii()函数看了一下,是一个空格
    我的语句得到的结果是空格||空格,两个空格。