Pular para o conteúdo

Fóruns SQL e PL/SQL RegExp RegExp

#96550
burga
Participante

    [quote=”Niggaz”:2dyqlxxz]Ao utilizar [A-Z], eu não estaria falando que é só para ter esses caracteres? e maiusculos?

    Ai eu utilizei a combinação [A-Z].’c’. Realmente se eu colocar somente uma letra e minuscula, o campo não aceita, porém se ele for acompanhado de outros caracteres maiusculos, ele é aceito.[/quote]

    A resposta pra sua primeira pergunta é NÃO, pra falar que você quer somente caracteres maiúsculos entre A e Z você deve colocar os delimitadores também (^ e $).

    Ficando mais ou menos assim: regexp_like(coluna,’^([A-Z])+$’). O + eu coloquei pra considerar que tenha um ou mais caracteres maiúsculos e se quiser considerar também o espaço, fica assim: regexp_like(coluna,’^([A-Z| ])+$’)

    [quote=”Niggaz”:2dyqlxxz]Fique na dúvida em relação a esses caras…

    Tem como fazer essa verificação de maiuscula no regexp ou é melhor utilizar: CHECK(NOME = UPPER(NOME))

    E como restringir somente para letras?[/quote]

    Os exemplos anteriores que eu passei restringem somente pra maiúsculas.
    Agora, se quiser considerar maiúsculas e minúsculas e espaço, daria pra fazer assim: regexp_like(coluna,’^([[:alpha:]| ])+$’);

    Espero ter ajudado! 8)