对于一些简单而短暂的查询,我一直在使用SSMS中的查询设计器,它具有以下有趣的行为:当我添加一个筛选器例如LIKE '%text here%'
时,SSMS在前面添加字母N
字符串的开始。使用SSMS设计查询的奇怪行为
它似乎并不影响查询,它会在没有它的情况下正常运行。任何人都知道为什么SSMS以这种方式生成查询?
对于一些简单而短暂的查询,我一直在使用SSMS中的查询设计器,它具有以下有趣的行为:当我添加一个筛选器例如LIKE '%text here%'
时,SSMS在前面添加字母N
字符串的开始。使用SSMS设计查询的奇怪行为
它似乎并不影响查询,它会在没有它的情况下正常运行。任何人都知道为什么SSMS以这种方式生成查询?
N'<your text here>'
表示应将字符串视为unicode文本。它确实是安全的,以防需要unicode字符。
这是告诉T-SQL将值视为nvarchar
而不是varchar
数据的简短方式。
问与答,谢谢,@yuck :)。将尽我所能接受。 – wootscootinboogie 2012-04-04 16:24:16
阅读[常量(Transact-SQL)]的前两个段落(http://msdn.microsoft.com/zh-cn/library/ms179899.aspx) – AakashM 2012-04-04 16:20:39
快速搜索“sql string n”会显示也有很多答案。 – Cylindric 2012-04-04 16:22:29