Categorias

Pesquisa Fonética Utilizando SQL Server 2005

A pesquisa fonética é utilizada quando você quer que uma pesquisa retorne exatamente do jeito que você fala.

CREATE TRIGGER [dbo].[TRG_FUNCIONARIO_INS] ON [dbo].[FUNCIONARIO]
WITH EXECUTE AS CALLER
FOR INSERT, UPDATE
  AS
    DECLARE @NRFUNCIONARIO VARCHAR(60)
    DECLARE @NOME VARCHAR(30)
    DECLARE @NM_MAE VARCHAR(60)
    DECLARE @NOME_FONETIZADO VARCHAR(60)
    DECLARE @NM_MAE_FONETIZADO VARCHAR(60)

  SELECT @NRFUNCIONARIO = NRFUNCIONARIO FROM INSERTED
  SELECT @NOME = NOME FROM INSERTED
  SELECT @NM_MAE = NM_MAE FROM INSERTED

  UPDATE dbo.FUNCIONARIO
  SET NOME_FONETIZADO = dbo.FUNC_FONETIZAR(@NOME,'0'),
  NM_MAE_FONETIZADO = dbo.FUNC_FONETIZAR(@NM_MAE,'0')
  WHERE NRFUNCIONARIO = @NRFUNCIONARIO
 GO

Para realizar a pesquisa utilize o exemplo abaixo:

SELECT F.NOME
FROM FUNCIONARIO F
WHERE F.NOME_FONETIZADO LIKE dbo.FUNC_FONETIZAR('GEZUS BARBALIO','1')

RETORNO: ANA DE JESUS BARBALHO

Muito simples qualquer dúvida estou a disposição !