源数据是这样select z.shiftcode shiftcode from zz_lens_to_q_summary z 
1 5F
2 5F
3 5F
4 5F
5 5H
6 5H
7 5H
8 5H
9 5H
截取一个字符,但出来的结果为空,无论有没有trim。select substr(z.shiftcode,1,1) shiftcode from zz_lens_to_q_summary z
select substr(trim(z.shiftcode),1,1) shiftcode from zz_lens_to_q_summary z结果为空,但不像null,因为null底色不一样。
截取两个字符,显示的结果是一个字符。select substr(trim(z.shiftcode),1,2) shiftcode from zz_lens_to_q_summary z1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5截取一个字符,但后面和另一个字符串组合,截取的字符串出来了,但是后面跟着的‘课’字没了。select substr(z.shiftcode,1,1)||'课' shiftcode from zz_lens_to_q_summary z1 5
2 5
3 5
4 5
5 5
6 5
7 5
8 5
9 5
求解~~请问各位高人这是什么原因导致的?

解决方案 »

  1.   

    按照你说的模拟了。一切正常:
    create table temp(str varchar2(20));
    select a.*,rowid from temp a;
    --手动添加数据select substr(t.str,1,1) from temp t;结果如下:
    1 5
    2 5
    3 5
    4 5
    5 5
    6 5
    7 5
    8 5
    9 5select substr(trim(t.str),1,2) s from temp t;结果如下:
    5F
    5F
    5F
    5F
    5H
    5H
    5H
    5H
    5Hselect substr(trim(t.str),1,2)||'test' s from temp t;结果如下:
    5Ftest
    5Ftest
    5Ftest
    5Ftest
    5Htest
    5Htest
    5Htest
    5Htest
    5Htest
      

  2.   


    我也想过是否和我的Table有关系,可是为什么最后一句SQL 合并字符的时候被截掉的是合并的字符而不是从字段截取的字符呢
      

  3.   

    select substr(trim(t.str),1,2)||'test' s from temp t;结果如下:
    5Ftest
    5Ftest
    5Ftest
    5Ftest
    5Htest
    5Htest
    5Htest
    5Htest
    5Htest这条怎么了?是正常的结果~~你想表达什么?
      

  4.   

    看字段类型,存储用NVARCHAR2或者NCHAR了
      

  5.   

    是不是前面有空白字符TAB
    把你截取到的字符用ascii看下编码值。
      

  6.   

    select ascii(z.shiftcode),ascii(5) from zz_lens_to_q_summary z看看结果如何?估计shiftcode前面有隐藏字符
      

  7.   

    select ascii(substr z.shiftcode,1,1) shiftcode from zz_lens_to_q_summary z;
    怀疑值可能不是0x20(32),如果不是需要使用trim(both '指定的空白符' from shiftcode)
      

  8.   


    结果为53, 是5的ascii码,可为啥就是显示不出来呢
      

  9.   

    会不会是tpye是nvarchar2 了,之前我有遇到过,因为类型写错nvarchar2了,结果查看的数据结果位数就不对,但是查看它的长度或是去空格在查,结果都一样,是不对的,最后原因就是类型问题,只是我还没明白为什么会导致这样的错
      

  10.   

    查查是不是有不可见的特殊字符
    select '|'||z.shiftcode||'|' as  shiftcode from zz_lens_to_q_summary z