So .. Ich dachte, ich wüsste mssql ziemlich gut, aber diese eine Abfrage von mir heute gefragt hat mich perplex. Grundsätzlich verwendet ein Stück Code irgendwo die LIKE-Klausel, um zu bestimmen, wie bestimmte Werte gefiltert werden. Ich muss darauf hinweisen, dass dies nicht geändert werden kann, wir können die Abfrage nicht ändern, um NOT LIKE zu verwenden. Aber was wenn ich das machen möchte? Betrachten Sie folgendes Beispiel:SQL LIKE nicht/^ Operator und mehrere Zeichen
select * from
(
select '1.2A' as num
union
select '1.3A' as num
union
select '1.4A' as num
union
select '1.4B' as num
union
select '1.5A' as num
) as test
where num like '1.[^4]_'
Nun .. wie kann die WHERE modifiziert werden alles außer 1.4A zurückzukehren? Sie können [^ 4A] oder sogar [^ 4] [^ A] aus offensichtlichen Gründen nicht tun. Ist das etwas, das ohne NOT LIKE einfach nicht möglich ist? Oder verpasse ich hier etwas und gerade am Freitag, um es zu realisieren?
Nur aus Neugier heraus, warum kann; t Sie die Abfrage ändern mögen verwenden NICHT? – HLGEM
Weil der Code in einer anderen Komponente ist. Im Grunde ist das einzige, was ich den Code bereitstellen kann, der Wert für die LIKE-Klausel als String. Ich könnte ungezogen sein und etwas zusätzliches SQL einbringen: z.B. String likeArg = "'%' UND ColName NOT = '1.4A'" Aber ich weiß, dass die Spaltennamen dynamisch sind .. also auch dort verschraubt ... – MRAH