2012-07-03 6 views
6

Ich versuche dies:Wie% und Spaltennamen in einer LIKE-Anweisung verketten

SELECT FacilityID, FacilityName, CMSProviderID, [Provider Number] 
FROM G2_Facility, SCIPHospitalCompare 
WHERE [Provider Number] LIKE '%' + CMSProviderID + '%'; 

Und ich bekomme:

Msg 245, Level 16, State 1, Line 1 
Conversion failed when converting the varchar value '%' to data type int. 

Was mache ich falsch? Ich habe viele Beispiele gesehen, die solche Sachen machen, aber aus irgendeinem Grund funktioniert es überhaupt nicht.

Danke!

+0

Was sind die Datentypen von 'Provider Number' und' CMSProviderID'? –

Antwort

4

Ich nehme an, dass entweder [Provider Number] oder CMSProviderID ein numerisches Feld ist?

Konvertieren das numerische Feld in eine Zeichenfolge, die beiden zu vergleichen:

SELECT FacilityID, FacilityName, CMSProviderID, [Provider Number] 
FROM G2_Facility, SCIPHospitalCompare 
WHERE CAST([Provider Number] as nvarchar(50)) LIKE 
    '%' + CAST(CMSProviderID as nvarchar(50)) + '%'; 
+0

wow danke! Ich weiß nicht, warum ich nicht daran gedacht hatte! – TomShreds

Verwandte Themen