Re: [pgbr-geral] Verificar String e detereminar se é alfa ou numérico.

2008-12-16 Por tôpico Dickson S. Guedes
Rubens José Rodrigues escreveu:
 (...)

 Minha necessidade:

 Verificar uma string, numa posição qualquer, se é alfa ou numérico 
 hoje estou fazendo na “unha” algo funcional porém acredito não se a 
 forma mais elegante de testar.


Fazendo jus à Navalha de Ockham

Via banco utilizando uma string completa:

# SELECT 'UmNoMeQuAlQUeR' ~* '^[A-Za-z]+$';
?column?
--
t
(1 registro)

# SELECT 'UmNoMeQuAlQUeR_C0m_Num3r0s' ~* '^[A-Za-z]+$';
?column?
--
f
(1 registro)


Via banco utilizando parte de uma string completa:

# SELECT SUBSTRING('UmNoMeQuAlQUeR_C0m_Num3r0s',3,6) ~* '^[A-Za-z]+$';
?column?
--
t
(1 registro)

# SELECT SUBSTRING('UmNoMeQuAlQUeR_C0m_Num3r0s',15,10) ~* '^[A-Za-z]+$';
?column?
--
f
(1 registro)



Em C ou C++ você também pode fazer uso de expressão regular.

[]s

-- 
Dickson S. Guedes
Administrador de Banco de Dados
Confesol - Projeto Colmeia
Florianopolis, SC, Brasil
(48) 3322-1185, ramal: 26

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Verificar String e detereminar se é alfa ou numérico.

2008-12-16 Por tôpico Dickson S. Guedes
Osvaldo Kussama escreveu:
 Verifique se é isto ajuda:
 (...)
   

Vixe, eu acabei dando uma resposta redundante numa outra thread, agora 
que vi sua resposta.

Desculpe pela redundância. :/

-- 
Dickson S. Guedes
Administrador de Banco de Dados
Confesol - Projeto Colmeia
Florianopolis, SC, Brasil
(48) 3322-1185, ramal: 26

___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Verificar String e detereminar se é alfa ou numérico.

2008-12-16 Por tôpico Osvaldo Kussama
Em 16/12/08, Rubens José
Rodriguesrubens.rodrig...@batistarepresentacoes.com escreveu:

 Meu cenário:

 PostgreSQL 8.3.3, compiled by Visual C++ build 1400

 Windows Vista

 Minha necessidade:

 Verificar uma string, numa posição qualquer, se é alfa ou numérico hoje
 estou fazendo na unha algo funcional porém acredito não se a forma mais
 elegante de testar.



Verifique se é isto ajuda:

bdteste=# SELECT (substring('ABC12345', 2, 1) ~* '[[:digit:]]') AS É numérico;
 É numérico

 f
(1 registro)

bdteste=# SELECT (substring('ABC12345', 4, 1) ~* '[[:digit:]]') AS É numérico;
 É numérico

 t
(1 registro)

bdteste=# SELECT (substring('ABC12345', 2, 1) ~* '[[:alpha:]]') AS É
alfabético;
 É alfabético
--
 t
(1 registro)

bdteste=# SELECT (substring('ABC12345', 4, 1) ~* '[[:alpha:]]') AS É
alfabético;
 É alfabético
--
 f
(1 registro)

Veja:
http://www.postgresql.org/docs/current/interactive/functions-string.html
http://www.postgresql.org/docs/current/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral