1. Продуктивність:
Припустимо, де таке стаття:
WHERE NAME='JON'
Якщо стовпець NAME має будь-який тип, окрім nvarchar або nchar, не слід вказувати N префікса. Однак якщо стовпець NAME має тип nvarchar або nchar, то якщо ви не вказали префікс N, тоді 'JON' трактується як unicode. Це означає, що тип даних стовпця NAME та рядка 'JON' відрізняються, тому SQL Server неявно перетворює тип одного операнда в інший. Якщо SQL Server перетворює тип літералу в тип стовпця, то жодних проблем не виникає, але якщо це зробити іншим способом, то продуктивність буде пошкоджена, оскільки індекс стовпця (якщо він є) не буде використаний.
2. Набір символів:
Якщо стовпець має тип nvarchar або nchar, то завжди використовуйте префікс N, вказуючи символьний рядок у пункті WHERE / UPDATE / INSERT. Якщо ви цього не зробите, і один із символів у вашому рядку є unicode (наприклад, міжнародні символи - приклад - ā), він вийде з ладу або зазнає пошкодження даних.
N
тільки тоді, коли я використовую такі типи данихCHAR, VARCHAR or TEXT
?? тому що "NCHAR, NVARCHAR або NTEXT" по суті зберігають UNICODE, я не потребую його додавати окремо .... це правда?