Vor kurzem muss ich chinesische Zeichen aus SQL-Strings abfangen, die Unicode-Funktion verwenden, um die Unicode-Codierung der Zeichen zu bestimmen, und nicht-chinesische Zeichen entsprechend dem Codierungsbereich herausfiltern.
wird als Funktion geschrieben
/*@str muss die Zeichenfolge chinesischer Schriftzeichen abrufen*/
Funktion CharRep(@str nvarchar(200)) erstellen
gibt nvarchar(200) zurück
als
begin
deklariere @i int, @char nvarchar(1), @zh nvarchar(200)
set @i = 1
set @zh = ''
while @i <= len(@str)
begin
set @char = substring(@str, @i, 1)
if unicode(@ char) zwischen 19968 und 40869
set @zh = @zh + @char
set @i = @i + 1
end
return @zh
end
Ausführen von select dbo.CharRep('Nonghao a/bc Nonghao')
Ergebnis a/bc
Anhang:
Unicode-Kodierungsbereich:
Chinesische Schriftzeichen: [0x4e00, 0x9fa5] (oder dezimal [19968, 40869])
Zahlen: [0x30, 0x39] (oder dezimal [48, 57]) Suche
Kleinbuchstaben: [0x61, 0x7a] (oder dezimal [ 97, 122])
Großbuchstaben: [0x41,0x5a] (oder dezimal [65, 90])