Concaténation à l'intérieur de la fonction CONTAINS dans SQL Server

Voici un extrait simplifié de ce que j'essaie de faire:

SELECT StreetNumber + StreetName AS 'Address' FROM TABLE WHERE CONTAINS('Address', 'Street Name') 

Je réalise que je ne peux pas utiliser un alias ici puisque la clause WHERE est évaluée avant la clause SELECT.

Les deux alternatives suivantes ne fonctionnent pas non plus:

1)

 SELECT Street_Number + StreetName AS 'Address' FROM TABLE WHERE CONTAINS(CONCAT(StreetNumber, '', StreetName), 'Street Name') 

2)

 SELECT Street_Number + StreetName AS 'Address' FROM TABLE WHERE CONTAINS(StreetNumber + ' ' + StreetName), 'Street Name') 

Comment puis-je accomplir cela?

Je gère généralement cela avec une sous-requête. Je n'aime pas copyr et coller du code comme une affectation concat ou row_number de la list de sélection à une clause, donc je gérerais comme ceci:

 Select Address From ( SELECT StreetNumber + StreetName AS 'Address' FROM TABLE ) A WHERE CONTAINS(Address, 'Street Name') -- Or maybe you really want WHERE Address Like '%Street Name%' 

Je pense aussi qu'il est plus facile de lire / maintenir ce code. Comme commenté contient des œuvres avec des index en text intégral, vous cherchez peut-être Charindex ou Like à la place.