Bonjour à tous,
Ceci n'est pas une question, pour une fois, mais plutôt une information.
Je ne sais pas si c'était connu de beaucoup, enfin bref la voici.
Il s'agit de chercher dans une table des Id assignés à une variable. le principe étant que lene fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Where IdPrestation in @Variable
On peut donc utiliser la syntaxe suivante :
Bonne utilisation si ça peut vous servir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DECLARE @IdPrestationMultiple VARCHAR(MAX) SELECT @IdPrestationMultiple = ',11,4,55,' SELECT * FROM DimPrestation WHERE NOT ISNULL(CHARINDEX(','+CAST(IdPrestationId AS VARCHAR(MAX))+',', @IdPrestationMultiple), NULL) = 0
EDIT : Après un peu plus d'utilisation, cela ne fonctionne que si les valeurs recherchées sont bien distinctes.
EDIT 2 : Finalement en ajoutant des virgules en début et fin de la variable, cela fonctionne très bien même pour des entiers.
Partager