MSSQL 2008 R2 - Textfeld nach Inhalt eines anderen Feldes durchsuchen
Guten Abend,
ich für alle Datensätze einer Tabelel prüfen ob in einem langen Textfeld (Matchcode) irgendwo der Inhalt des Felds Typnummer (Integer) des Datensatzes vorkommt.
Um es bildlich zu machen.
Typnummer Matchcode
815 Hier steht ein Haufen langtext und u.U. auch der Typ 815 drin.
Ich möchte alle Datensätze ermitteln bei denen der Matchcode nicht den Inhalt des Felds Typnummer enthält.
Da ich MSSQL 2008 R2 habe, kann ich nicht auf CONCAT zurückgreifen.
Das war mein letzter Versuch
und der brachte auch nur:
DataAdapter konnte nicht initialisiert werden:
The data types varchar and varchar are incompatible in the modulo operator.
Für jeden Denkanstoß bin ich wie immer dankbar.
grüße vom it-frosch
ich für alle Datensätze einer Tabelel prüfen ob in einem langen Textfeld (Matchcode) irgendwo der Inhalt des Felds Typnummer (Integer) des Datensatzes vorkommt.
Um es bildlich zu machen.
Typnummer Matchcode
815 Hier steht ein Haufen langtext und u.U. auch der Typ 815 drin.
Ich möchte alle Datensätze ermitteln bei denen der Matchcode nicht den Inhalt des Felds Typnummer enthält.
Da ich MSSQL 2008 R2 habe, kann ich nicht auf CONCAT zurückgreifen.
Das war mein letzter Versuch
select len(matchcode),count(*) from Tabelle where len(matchcode)>62 and (inaktiv=0 or inaktiv=null)
and matchcode not like ''%'+cast(typnummer as varchar)+'%''
group by len(matchcode) order by 1 desc
und der brachte auch nur:
DataAdapter konnte nicht initialisiert werden:
The data types varchar and varchar are incompatible in the modulo operator.
Für jeden Denkanstoß bin ich wie immer dankbar.
grüße vom it-frosch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 375654
Url: https://administrator.de/contentid/375654
Ausgedruckt am: 03.12.2024 um 17:12 Uhr
2 Kommentare
Neuester Kommentar
Moin,
hats du es mal mit CHARINDEX() versucht?
Habe selbst aber damit noch nicht gearbeitet...
Gruß
em-pie
hats du es mal mit CHARINDEX() versucht?
select len(matchcode),count(*) from Tabelle where len(matchcode)>62 and (inaktiv=0 or inaktiv=null)
and charindex(typnummer, matchcode) > 0
group by len(matchcode) order by 1 desc
Habe selbst aber damit noch nicht gearbeitet...
Gruß
em-pie