2008-12-25 13 views

Odpowiedz

11

Potrzebujesz składni N ', tylko jeśli ciąg zawiera znaki, które nie znajdują się na domyślnej stronie kodowej. "Najlepszą praktyką" jest posiadanie N ', gdy wstawiasz kolumnę nvarchar lub ntext.

+0

Jeśli moja strona kodowa jest UTF-8, czy nadal muszę używać prefiksu N? Dzięki! –

0

Jest to preferowane ze względu na zgodność.

3

Tak, robisz, jeśli w ciągach znaków znajdują się znaki Unicode.

Od książek online (http://msdn.microsoft.com/en-us/library/ms191313.aspx) ...

„Unicode stałe łańcuchowe, które pojawiają się w postaci kodu wykonywanego na serwerze, tak jak w procedurach składowanych i wyzwalaczy, musi być poprzedzone literą N. kapitał To prawda nawet jeśli odwołująca się kolumna jest już zdefiniowana jako Unicode, bez przedrostka N, ciąg jest konwertowany na domyślną stronę kodową bazy danych.Może to nie rozpoznawać określonych znaków.Zakaz używania prefiksu N dotyczy zarówno stałych łańcuchowych, które pochodzą z serwera i tych wysłanych od klienta. "

0

Najlepszą praktyką jest użycie parameterisation, w którym to przypadku nie potrzebujesz prefiksu N.

+3

W zależności od kontekstu. Jeśli jest to wyłącznie skrypt TSQL, to parametry nie będą pomocne, ponieważ nadal musisz używać prefiksu 'N' podczas przypisywania wartości do parametrów. –

Powiązane problemy