Je passe un paramètre @employeeID
à ma procédure SQL Server, que j'utilise comme filtre pour ma requête. Il ne filtre pas les données correctement. Je peux voir que la valeur est du même type que la colonne de filtrage mais n'obtient aucun résultat.Paramètre SQL ne filtrant pas les données appropriées
Voici le code.
CREATE PROCEDURE [dbo].[SearchAssociatesById]
@EmployeeID VARCHAR(20)
AS
BEGIN
PRINT @EmployeeID
SET NOCOUNT ON;
SELECT *
FROM ASSOCIATE A
WHERE empl_id = @EmployeeID
END
Le résultat est vide, mais la valeur de @employeeID
est imprimé correctement. Si je fais la même chose en codant en dur mon employeeID
, alors j'obtiens le bon résultat.
Que manque-t-il ici?
Le type de données de Empl_id
est varchar(11)
Ca n vous nous donnez des exemples de données afin que nous puissions reproduire le problème? –
Le code affiché devrait fonctionner. Cela signifie qu'il y a quelque chose d'autre qui se passe ici. Je suggère d'utiliser le même type de données que la colonne mais cela ne devrait pas empêcher cela de fonctionner. Quelles valeurs fonctionnent quand vous les codez dur et quel est le code que vous utilisez pour appeler votre procédure? –
Vous pouvez avoir des espaces incorporés dans le paramètre? Des exemples de données et les résultats attendus aideraient. –