Sonderzeichen in SQL

8

Ich habe ein Problem mit einem Sonderzeichen, das in eine Tabelle von SQL Server 2008 R2 eingefügt wurde. Der Punkt ist, dass, wenn ich versuche, eine Zeichenfolge mit dem Zeichen º (zB 3 ELBOW 90º LANGES RADIUS) in die Tabelle einzufügen, dies wie folgt erscheint: 3 ELBOW 90 LONG RADIUS, und wenn ich versuche, alle auszuwählen Zeilen, die das Zeichen enthalten das Ergebnis ist null.

Ich habe versucht, die Auswahl mit ASCII zu treffen, indem ich folgendes mache: Wählen Sie * aus dem Artikelcode mit der Bezeichnung '%' + char (63) + '%'

und machen Sie dies zu wissen, dass das ASCII dieses Symbols 63:

ist

Wählen Sie ASCII (' ')

Aber das funktioniert nicht. Was muss ich tun, um alle Zeilen mit diesem Zeichen auszuwählen, und was soll ich tun, damit SQL das Zeichen º?

erkennt?

Danke

    
Misayel Espinoza 04.12.2012, 21:15
quelle

4 Antworten

8

Das Gradsymbol

%Vor%

ist kein ASCII-Zeichen und erfordert im Allgemeinen eine NVARCHAR-Spalte und ein N'' -Zeichenfolgenliteral. (außer Codepages usw., die das Symbol unterstützen)

63 ist der Code des Fragezeichens , das das Ersatzzeichen für das umgekehrte Fragezeichen in ASCII darstellt:

%Vor%

Dabei steht 65533 für das Unicode-Ersatzzeichen , das zum Anzeigen von Zeichen verwendet wird, die nicht angezeigt werden können konvertiert oder angezeigt.

    
devio 04.12.2012 21:45
quelle
2

wenn ich das ausführe:

%Vor%

Ich bekomme 186 als ASCII-Code-Wert, also versuchen Sie:

%Vor%

um alle ASCII-Codes zu sehen, führe dies aus:

%Vor%

BEARBEITEN op gibt in einem Kommentar an, dass sie nvarchar-Spalten verwenden.

fälschen über ascii, verwenden Sie NCHAR (Transact-SQL) , um ein Gradsymbol auszugeben:

%Vor%

und verwenden Sie UNICODE (Transact-SQL) , um den Wert zu erhalten:

%Vor%

gibt zurück:

%Vor%     
KM. 04.12.2012 21:45
quelle
1
%Vor%

Die Funktion NCHAR (65533) gibt das von Ihnen gesuchte Zeichen zurück.

    
christos_g 10.10.2014 10:13
quelle
0

Zusätzlich zur Sicherstellung, dass es ein NVARCHAR ist, würde ich etwas wie dieses verwenden

Wählen Sie (N' ')

Wie können Sonderzeichen in SQL Server 2008 angezeigt werden?

    
Neil 04.12.2012 21:44
quelle

Tags und Links