Pessoal,
Estou querendo fazer uma consulta onde preciso varrer um campo do banco. Assim: tenho um campo varchar com a seguinte string "joao manel da silva", então quero fazer um select pegando cada token desta string. tipo:
select id_pessoa from tb_pessoa
where [arrayDetoquens] like 'manel'
alguém tem alguma idéia?
Grato desde já.
Tokenizar campo varchar utitilizando sql
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Qua, 23 Abr 2008 2:22 pm
- Localização: Paraiba
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother,
Seria isso?
qualquer coisa, manda ai.
Seria isso?
select id_pessoa
FROM tb_pessoa
where lower(teu_campo_string) like '%manel%';
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Qua, 23 Abr 2008 2:22 pm
- Localização: Paraiba
Mais ou menos,
é porque é o seguinte, estou implementando uma busca fonética, e para tal estou utilizando a função soundex() que tem no oracle, só que esta função só "fonetiza" a primeira palavra do varchar, então queria na verdade tokenizar o varchar para aplicar a função soundex para cada token. entendeu?
é porque é o seguinte, estou implementando uma busca fonética, e para tal estou utilizando a função soundex() que tem no oracle, só que esta função só "fonetiza" a primeira palavra do varchar, então queria na verdade tokenizar o varchar para aplicar a função soundex para cada token. entendeu?
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Qua, 23 Abr 2008 2:22 pm
- Localização: Paraiba
Bom eu achei esse codigo:
SELECT LEVEL
, SUBSTR ( STRING_TO_TOKENIZE
, DECODE( LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1)
, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL)
- DECODE( LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1)
)
FROM ( SELECT ‘&String_To_Tokenize’||’&Delimiter’ AS STRING_TO_TOKENIZE
, ‘&Delimiter’ AS DELIMITER
FROM DUAL
)
CONNECT
BY INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL) > 0
ORDER
BY LEVEL ASC ;
Mas não consegui utiliza-lo, alguém da um help?
SELECT LEVEL
, SUBSTR ( STRING_TO_TOKENIZE
, DECODE( LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1)
, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL)
- DECODE( LEVEL, 1, 1, INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL-1)+1)
)
FROM ( SELECT ‘&String_To_Tokenize’||’&Delimiter’ AS STRING_TO_TOKENIZE
, ‘&Delimiter’ AS DELIMITER
FROM DUAL
)
CONNECT
BY INSTR(STRING_TO_TOKENIZE, DELIMITER, 1, LEVEL) > 0
ORDER
BY LEVEL ASC ;
Mas não consegui utiliza-lo, alguém da um help?
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes