Ich versuche einige spezielle Datensätze auszuwählen, die Sonderzeichen enthalten, aber SQL Server ändert meine Zeichenfolgen, bevor die Abfrage ausgeführt wird.SQL Server hat meine Zeichenfolgen geändert, bevor die Abfrage ausgeführt wurde
Zum Beispiel:
DECLARE @param NVARCHAR(30)
SET @param=N'¤÷þ'--this is my special string that i want to be searched exactly.
DECLARE @TSQL varchar(8000)
SET @TSQL = 'SELECT * FROM MyTable WHERE MyFieldName LIKE %' + @param + '% '
PRINT @TSQL
--EXECUTE (@TSQL)
Aber im Ergebnis (Druck) Ich sehe: (?)
SELECT * FROM MyTable WHERE MyFieldName LIKE '%¤÷þ?%'
Wie Sie einen Teil-String sehen umgewandelt Charakter, dieses Problem mein SELECT
verursachen Befehl gibt Nullwert zurück.
Ich versuche Sortierung der Datenbank zu ändern, die ich die Abfrage auszuführen:
SQL_Latin1_General_CP1_CI_AS
Es mit einigen speziellen Zeichenfolge gut funktionieren, aber es ist auch nicht alle meine Saiten unterstützen. Also, Frage ist hier: Wie kann ich SQL Server sagen, bitte ändern Sie nicht meine ASCII-Codes? Gibt es eine Möglichkeit (oder eine Sortierung), SQL Server zu sagen, die eine Zeichenfolge genau so sehen, wie sie in Wirklichkeit ist?
PS: Ich verwende SQL Server 2008 R2.
Welchen Typ hat 'MyFieldName'? Das Ändern der DB-Sortierung führt zu keinen vorhandenen Spalten, fyi. – usr
Nun, was erwartest du, '@ TSQL' ist' varchar (8000) '? –
OMG! Nur ein Teil meines Codes, der kopiert wird (darüber denke ich nie nach). Danke, Alter. – Jupiter