T-SQL Zeichenkette mit Datentyp text vergleichen

Je nachdem, wie eine Datenbank aufgebaut ist, kann es vorkommen, dass ein als varchar oder nvarchar geführtes Feld mit einem Feld vom Typ text verglichen werden muss.

Ein trivialer Versuch wie der folgende

SELECT * FROM Zeiterfassung WHERE UserName = 'TF'

wird mit nachfolgender Fehlermeldung quittiert:
The data types text and varchar are incompatible in the equal to operator.

Soll ein solcher Vergleich zu einem Resultat führen, so muss ein Datentyp in den anderen konvertiert werden, dabei ist jedoch darauf zu achten, dass der zu konvertierenden Datentyp die Feldlängen nicht überschreitet. Für gewöhnlich sollte jedoch ein convert(varchar(max),datenfeld) ausreichend sein.

SELECT * FROM Zeiterfassung 
WHERE CONVERT(varchar(max),UserName) = 'TF'

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.