Os comandos a seguir habilitam, na sessão do usuário, a comparação por linguística e a classificação binária desconsiderando acentuação e case insensitive:
ALTER SESSION SET NLS_SORT='BINARY_AI'; ALTER SESSION SET NLS_COMP='LINGUISTIC'; CREATE TABLE teste (texto VARCHAR2(10)); INSERT INTO teste VALUES('Macaco'); INSERT INTO teste VALUES('maça'); INSERT INTO teste VALUES('maçarico'); INSERT INTO teste VALUES('MAÇONARIA'); SELECT texto FROM teste WHERE texto like 'mac%';
TEXTO
---------
Macaco
maça
maçarico
MAÇONARIA
O mesmo resultado é processado com a seguinte instrução:
SELECT texto FROM teste WHERE texto like 'MAÇ%';
Mesmo informando o acento, como no segundo comando, registros sem acentuação são Macaco sem acento é retornado.
O Oracle também suporta a busca ordena por um idioma:
SELECT texto FROM teste ORDER BY NLSSORT(texto, 'NLS_LANG = PT');
Outra funcionalidade, apresentar a descrição da data em um determinado idioma:
SELECT to_char(sysdate, 'DD/MON/YYYY', 'nls_date_language = French') FROM dual;
Link para a documentação online dessas funcionalidades.
No comments:
Post a Comment