COLLATE em query dinâmica
Pessoal, por que essa query com COLLATE não funciona?
declare @strPesquisa varchar(30)
SET @strPesquisa = 'naicle'
SET @sql = 'SELECT '
SET @sql = @sql + 'ML.nome '
SET @sql = @sql + 'FROM '
SET @sql = @sql + 'dbo.minhaTab AS ML '
SET @sql = @sql + ' WHERE '
SET @sql = @sql + ' nome LIKE '
SET @sql = @sql + '''%' + @strPesquisa COLLATE Latin1_General_CI_AI + '%'''
EXEC (@sql)
Não acusa erro ao rodar.
Mas não traz os registro porque está gravado como "naiclê" (com acento), o que significa que não está aplicando a COLLATE.
Montando essa mesma query mas da forma tradicional, o COLLATE funciona.
SELECT
ML.nome
FROM
dbo.minhaTab AS ML
WHERE
nome LIKE
'%'+ @strPesquisa COLLATE Latin1_General_CI_AI+'%'
Discussão (0)
Carregando comentários...