[Dica] REGEXP

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

É possível descobrir se um caracter é alpha, upper, pontuação, controle, espaço, etc, usando essa query:

Selecionar tudo

select CHR(level),
       decode(chr(level), regexp_substr(chr(level), '[[:graph:]]'), 1) is_graph,
       decode(chr(level), regexp_substr(chr(level), '[[:blank:]]'), 1) is_blank,
       decode(chr(level), regexp_substr(chr(level), '[[:alnum:]]'), 1) is_alnum,
       decode(chr(level), regexp_substr(chr(level), '[[:alpha:]]'), 1) is_alpha,
       decode(chr(level), regexp_substr(chr(level), '[[:digit:]]'), 1) is_digit,
       decode(chr(level), regexp_substr(chr(level), '[[:cntrl:]]'), 1) is_cntrl,
       decode(chr(level), regexp_substr(chr(level), '[[:lower:]]'), 1) is_lower,
       decode(chr(level), regexp_substr(chr(level), '[[:upper:]]'), 1) is_upper,
       decode(chr(level), regexp_substr(chr(level), '[[:print:]]'), 1) is_print,
       decode(chr(level), regexp_substr(chr(level), '[[:punct:]]'), 1) is_punct,
       decode(chr(level), regexp_substr(chr(level), '[[:space:]]'), 1) is_space,
       decode(chr(level), regexp_substr(chr(level), '[[:xdigit:]]'), 1) is_xdigit
  from dual
connect by level <= 300
A saída dessa query é uma matriz indicando com "1" onde o caracter se aplica. :-o
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Show !!!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 15 visitantes