Ich habe eine BIGINT-Spalte, die ich teilweise angleichen möchte.SQL Like/Contains auf BIGINT Spalte
z.B. @search = 1
sollte alle Datensätze zurückgeben, bei denen die erste Zahl 1 ist (1, 11, 100 usw.). Grundsätzlich das gleiche wie ein VARCHAR LIKE.
Ich habe versucht:
DECLARE @search VARCHAR
SET @search = '1'
und
SET @search = '1%'
und gebraucht:
SELECT
id FROM table
WHERE
CAST(id AS varchar) LIKE @search
eine %
-@search
Hinzufügen hilft nicht. Irgendwelche Ideen, wie man das erreicht?
EDIT: Es scheint die Variable zu sein. Wenn ich die Zeichenfolge in der WHERE
-Klausel fest codiere, bekomme ich die Ergebnisse, nach denen ich suche.
SELECT id FROM table WHERE CAST(id AS VARCHAR) LIKE '14%'
Das gibt mir alle Datensätze mit einem id
von 14 * (14, 140, 1400 usw.).
können Sie Ihren Code mit dem hinzugefügten '%' veröffentlichen? – Tim3880
Hinzugefügt mehr Details. Entschuldigung, sollte es von Anfang an gehabt haben. – hsimah
Welche Ergebnisse erhalten Sie, wenn Sie nur CAST (ID als Varchar) FROM Tabelle auswählen? –