Olá galera o/
Vamos a mais uma postagem sobre funções T-SQL. Hoje vou falar um pouco sobre a função SOUNDEX, como é sua sintaxe e como podemos utiliza-la.
A função SOUNDEX() retorna um código de quatro caracteres para avaliar a similaridade de duas expressões. Esta função converte a string em um código de quatro caracteres com base em como a string soa quando falada.
O código gerado tem uma determinada composição:
- primeiro caractere do código é o primeiro caractere do parametro, convertido em maiúsculas.
- O segundo até o quarto caractere do código são números que representam as letras da expressão. As letras A, E, I, O, U, H, W e Y serão ignoradas, a menos que elas sejam a primeira letra da cadeia de caracteres.
- Zeros serão adicionados ao término, se necessário, para gerar um código de quatro caracteres.
- Mais informações sobre como é feita a geração do código do som das palavras: https://www.archives.gov/research/census/soundex.html
SINTAXE:
SOUNDEX (parametro)
Para exemplificar iremos declarar duas variáveis do tipo VARCHAR(20) e utilizar a função SOUNDEX.
No primeiro exemplo iremos setar o valor MEY para a variável 1, para a variável 2 o valor MAYH. Apesar de serem palavras escritas de maneira diferentes a sonoridade das mesmas é bastante parecida. O código gerado para ambas as palavras é o mesmo, pois suas sonoridades são iguais.
DECLARE @TEXT01 VARCHAR(20) , @TEXT02 VARCHAR (20)
SET @TEXT01 = ‘MEY’
SET @TEXT02 = ‘MAYH’
SELECT SOUNDEX(@TEXT01) AS TEXT_01, SOUNDEX (@TEXT02) AS TEXT_02

Para o segundo exemplo trocamos os valores para ATENA e MAY (o nome das minhas cachorrinhas rsrsrs). Percebam que no segundo exemplo o código gerado para ambas as palavras são diferentes, pois suas sonoridades são diferentes.
DECLARE @TEXT01 VARCHAR(20) , @TEXT02 VARCHAR (20)
SET @TEXT01 = ‘ATENA’
SET @TEXT02 = ‘MAY’
SELECT SOUNDEX(@TEXT01) AS TEXT_01, SOUNDEX (@TEXT02) AS TEXT_02

Para um terceiro exemplo trocamos os valores para MAYANAH e MAYARA. Percebam que no terceiro exemplo o código gerado são diferentes, porém estão bem próximos, a sonoridade inicial das palavras é parecido, mas a sonoridade final muda.
DECLARE @TEXT01 VARCHAR(20) , @TEXT02 VARCHAR (20)
SET @TEXT01 = ‘MAYANAH’
SET @TEXT02 = ‘MAYARA’
SELECT SOUNDEX(@TEXT01) AS TEXT_01, SOUNDEX (@TEXT02) AS TEXT_02

Uma coisa que você podem fazer depois, é alterar os parâmetros colocando nomes escritos de maneiras diferentes, porém com a sonoridade parecida para verificar qual código é gerado.
Espero que tenham gostado da postagem.
Quem quiser mandar comentários, sugestões, criticas e complementos, fiquem a vontade, pois feedbacks positivos ou negativos engradecem meu conhecimento para que possa melhorar as postagem para vocês.
Até a próxima o/
Divulguem nossas Redes Sociais:
Nos sigam no Instagram: consultabd
Nos sigam no Twitter
Deixem um like nos vídeos e se inscrevam no nosso canal do Youtube