我做sql 的时候是不分的,但是不知道在oracle里面分不分。
如果要是默认分的话怎样可以做到不区分大小写和全半角??

解决方案 »

  1.   

    大小写 用函数upper来解决  
    全半角没试过 你看 nls_upper 能成不
      

  2.   

    SQL> create table testa (id number(10),name varchar2(100))
      2  tablespace cux
      3  /Table createdSQL> insert into testa values(1,'我');1 row insertedSQL> insert into testa values(2,'我');1 row insertedSQL> commit;Commit completeSQL> select * from testa;         ID NAME
    ----------- --------------------------------------
              1 我
             2 我SQL> select id ,ascii(name) from testa;         ID ASCII(NAME)
    ----------- -----------
              1       52946
              2       52946SQL> --上面的一个是全角插入一个是半角插入,但是ascii码都是一样的,
    --全角和半角是一样的.
      

  3.   

    区分,对ascii 值在0-128区分。
      

  4.   

    SQL> select ascii('a') from dual;ASCII('A')
    ----------
            97SQL> select ascii(to_multi_byte('a')) from dual;ASCII(TO_MULTI_BYTE('A'))
    -------------------------
                        41953--如果你在插入非汉字字符之前进行多字节转换的换就和单字节不一致了.也可以在输入的时候使用全半角来达到目的.
      

  5.   

    to dinya2003(OK):   你用英文全角和半角作个测试怎么样?