2016-05-17 12 views
0

sagen, dass ich eine Tabelle mit zwei Feldern habenAktualisierung nvarchar Feld auf einen Nicht-Englisch Text

Id : int 
Text : nvarchar(50) 

jetzt habe ich den Text der Elemente mit ID höher als 50 sein, einige Text aber nicht in Englisch einstellen möchten

nach der Update-Abfrage meinem Tisch wie diese

Id  Text 
...  ... 
51  ???? 
52  ???? 
...  ... 

bearbeiten aussieht: meine Abfrage

UPDATE MyTable 
SET Text = 'אבגד' 
where Id > 50 
+0

Konnten Sie Ihre Aktualisierungsabfrage vielleicht posten? – Stivan

+0

@Stivan Ich bearbeitete und fügte die Abfrage – Jynxed

Antwort

2

Put-N vor Text wie diese

 set Text=N'אבגד' 
+0

Danke! Das ist das Problem gelöst. Kannst du mir bitte erklären, was das ist? und wenn ich C# oder JAVA verwende, um die Ergebnisse zu bekommen, muss ich auch N schreiben? – Jynxed

+0

Es stellt sicher, dass die Zeichen in Unicode konvertiert werden, siehe: http://programmers.stackexchange.com/questions/155859/why-do-we-need-to-put-n-before-strings-in-microsoft-sql-server – Chris

+0

N für Unicode verwendet – banksy

0
UPDATE MyTable 
SET Text = N'אבגד' 
where Id > 50 

Wenn der obige Code nicht funktioniert, dann müssen Sie die Globalisierungseinstellungen aller Code überprüfen, das mit diesen Daten umgeht, aus Ihrer Datenbank , Datenzugriff und Präsentationsebenen. Dies schließt SSMS ein.