Sunday, April 09, 2006
Ignore Cases (e acentos)
Já vi várias dúvidas sobre fazer busca em um campo desconsiderando se o valor está em minúsculo ou maísculo. Com a versão 9ir2 (9.2.0) já é possível alterando parâmetros de globalização na sessão.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> create table t ( x varchar2(20) );
Table created.
SQL> insert into t values ( 'Marcio' );
1 row created.
SQL> insert into t values ( 'MARCIO' );
1 row created.
SQL> insert into t values ( 'MárCio' );
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t where x = 'marcio';
no rows selected
SQL> alter session set nls_comp=ansi;
Session altered.
SQL> alter session set nls_sort=generic_baseletter;
Session altered.
SQL> select * from t where x = 'marcio';
X
--------------------
Marcio
MARCIO
MárCio
3 rows selected.
Comments:
<< Home
A solução por completo vem apenas no Oracle 10g. A solução mostrada funciona com o operador (=) Igual, mas não funciona com o LIKE.
[]s,
Anderson Haertel Rodrigues
[]s,
Anderson Haertel Rodrigues
Anderson,
O artigo fala sobre equalidade não equivalência ;-) mesmo assim voce pode contar com o operador ">" invés de "like" no 9i.
SQL> select * from t where x > 'mar';
X
--------------------
Marcio
MARCIO
MarCio
3 rows selected.
Post a Comment
O artigo fala sobre equalidade não equivalência ;-) mesmo assim voce pode contar com o operador ">" invés de "like" no 9i.
SQL> select * from t where x > 'mar';
X
--------------------
Marcio
MARCIO
MarCio
3 rows selected.
<< Home