假设我有一个包含 varchar 字段的表。如果我像这样插入:
INSERT MyTable
SELECT N'the string goes here'
这和以下内容之间有什么根本区别吗?
INSERT MyTable
SELECT 'the string goes here'
我的理解是,只有当字符串包含 Unicode 字符并且目标列不是 unicode 时才会出现问题。除此之外,SQL 处理得很好,并将字符串转换为N''
进入 varchar 字段(基本上忽略N
).
我的印象是N
在字符串前面是一个很好的做法,但我找不到任何我认为明确的讨论。
您应该为字符串添加前缀N
当他们注定要nvarchar(...)
列或参数。如果他们注定要varchar(...)
列或参数,然后省略它,否则您最终会得到不必要的转换。
这绝对不是坚持的“最佳实践”N
在每个字符串前面,无论它的用途是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)