Dúvida configurar Alter Session NLS_COMP e NLS_SORT

  • Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 18 anos, 1 mês atrás por Anônimo.
Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #74699
    Anônimo
    Convidado

    Ol? pessoal.

    Na minha aplica??o asp.net,
    eu uso o seguinte comando para configurar
    o Oracle como (case insensiteve e accent insensitve) pelo menos durante a session:

    ALTER SESSION SET NLS_COMP = ANSI
    ALTER SESSION SET NLS_SORT = BINARY_AI

    Ou seja,

    Se eu fizer um select do tipo:

    Select usuario_nome from usuarios
    Where usuario_nome like ‘%Jo?o%’

    resulta em:

    usuario_nome
    —————-
    JOAO CARLOS
    Jo?o Augusto
    jo?o Fernando
    joao da Silva

    Atualmente estou executando essas duas instru??es para ajustar os valores das v?riaveis NLS_COMP e NLS_NLS_SORT toda vez em que eu executo um comando SQL, do tipo Select, Insert, Update, ou Delele. Porque essa configura??o s? tem efeito enquanto estiver na mesma session.

    Eu quero saber como deixar os valores das v?riaveis NLS_COMP e NLS_NLS_SORT fixas no oracle. Eu quero deixar permanente, para n?o ter que mudar os valores dessas vari?veis (na session) toda vez que eu for executar um comando no Oracle.

    Aguardo por respostas, Obrigado.

    #74702
    Avatar de Marcio68AlmeidaMarcio68Almeida
    Participante

    Adicione essas linhas no init.ora, s? n?o tenho ceretza se ? a mesma sintaxe

    NLS_COMP = ANSI
    NLS_SORT = BINARY_AI

    #74704
    Anônimo
    Convidado

    Obrigado pela dica. assim que poss?vel vou testar:

    Mas eu passei o resultado da query, incorreto, quando eu coloquei um exemplo incorreto , quando eu lancei a pergunta no t?pico 😥 . No exemplo que eu passei o certo seria n?o retornar nenhum resultado, porque o operador like n?o funcionou como eu esperava.

    Segue um exemplo que testei.

    ALTER SESSION SET NLS_COMP = ANSI
    ALTER SESSION SET NLS_SORT = BINARY_AI

    SELECT texto FROM A_TESTES
    WHERE TEXTO = ‘japao’
    –Resultado:

    TEXTO

    JAP?O
    Japao

    SELECT texto FROM A_TESTES
    WHERE TEXTO LIKE ‘%japao%’
    –Resultado:

    TEXTO

    SELECT texto FROM A_TESTES
    WHERE TEXTO LIKE ‘%Japao%’
    –Resultado:

    TEXTO

    Japao

    Resumindo a compara??o case insensitive, funcionou quando usei o operador (=). Mas n?o funcionou usando (like).

    N?o tinha testado usando ‘like’ da primeira vez que eu perguntei . 🙁

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Você deve fazer login para responder a este tópico.
plugins premium WordPress