Ich schreibe ein Stück Code, wo @Variant zur Verfügung gestellt wird. Ich wollte mehrere Werte speichern, indem ich sie in eine Variable (Laufzeit) aufnehme und sie in der WHERE-Klausel übergebe. Teilen Sie die LogikLIKE Platzhalter in SQL
DECLARE @Variant VARCHAR(50)
SET @Variant='''25'',''33'''
SELECT @Variant ---- which is actually '25','33'
SELECT 'TRUE' WHERE '25' IN (@Variant)
DECLARE @Variant VARCHAR(50)
SET @Variant='''25'',''33'''
SELECT @Variant ---- which is actually '25','33'
SELECT 'TRUE' WHERE '25' IN (SELECT @Variant)
Above Anfragen nicht funktionieren ...
--DECLARE @Variant VARCHAR(50)
--SET @Variant='''25'',''33'''
--SELECT @Variant
SELECT 'TRUE' WHERE '25' IN ('25','33')
Oben ist eine einfachere Abfrage in SQL Server -die Ich habe versucht, wenn SQL akzeptiert. Meine tatsächliche Abfrage besteht darin, Platzhalter in der LIKE-Anweisung in der WHERE-Klausel zu übergeben.
DECLARE- @Variant VARCHAR (50) SET @Variant = ' '25%''‘OR [ITEM_NO] LIKE ''33%' '' SELECT @Variant
SELECT * FROM Tabelle1 WHERE [ITEM_NO] LIKE (@Variant) - Ich nehme an, dass @variable während der Ausführung durch ihren Wert ersetzt wird.
Wie auch immer, einfacher Weg - Ich habe eine Item_No in der Where-Klausel, an die ich mehrere Platzhalter liefern möchte. Gibt es eine ähnliche Methode wie die Inline-Funktion, die den Text in der @variant ersetzen und die Kombination ausführen soll?
Markieren Sie die verwendeten dbms. (Dieser Code sieht überhaupt nicht wie ANSI SQL aus ...) – jarlh
Das hat nichts mit 'LIKE' oder Wildcards zu tun. Fixiere die Tags bitte. – Pred
Warum haben Sie 'Wildcard' und 'Like' getaggt? – kostas