webForumDet fria alternativet

olika resultat melan SP och plain SQL

2 svar · 303 visningar · startad av Bjuris

BjurisMedlem sedan juli 2001514 inlägg
#1

Jag har en sp som ser ut enl nedan:

CREATE PROCEDURE sp_GetEmails
	@Product	varchar(50),
	@Country	varchar(50)
AS
SET NOCOUNT ON

SELECT  distinct ContactEmail
FROM Customer_Contact CC
inner join Customer_Offices CO on 
CC.OfficeID = CO.OfficeID AND LTRIM(RTRIM(CO.CompanyCountry)) LIKE '%'+LTRIM(RTRIM(@Country))+'%'
GROUP BY ContactEmail
HAVING ContactEmail <> '@' AND LTRIM(RTRIM(ContactEmail)) <> ''
GO

när jag kör den så får jag två resultat, och Country som jag skickar med är Sweden, det är verifierat.

Om jag istället går till SQL queryanalyser och kör samma fråga enl:

SELECT  distinct ContactEmail
FROM Customer_Contact CC
Inner join Customer_Offices CO on 
CC.OfficeID = CO.OfficeID AND CO.CompanyCountry LIKE '%'+'Sweden'+'%'
GROUP BY ContactEmail
HAVING ContactEmail <> '@' AND LTRIM(RTRIM(ContactEmail)) <> ''

så får jag 15 svar, vilket är rätt, varför blir dem annorlunda för?

BjurisMedlem sedan juli 2001514 inlägg
#2

De *"#¤"#% är att om jag sätter 'Sweden' istället för @Country så fungerar det.
Skriver jag ut min @Product innan den går till sp'n så står det att det är Sweden, alltså exakt samma som jag skrev in, men olika svar.

BjurisMedlem sedan juli 2001514 inlägg
#3

ledsen att behöva störa, jag lade till en .trim() i min kod för variabeln country och då fungerar det.

136 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)