我们知道为了将字符串文字限定为Unicode,我们需要在Transact-SQL中用N
作为前缀。我的问题是,这是否是ANSI SQL的任何标准的一部分。其他数据库平台是否会理解这一点?
更新
我对Mig#的实际实验表明,为了使用Unicode文字:
答案 0 :(得分:7)
根据the MSDN documentation for constants in T-SQL,N'
前缀是" SQL-92"的一部分。标准:
Unicode字符串的格式类似于字符串但是 前面有一个N标识符(N代表国家语言) SQL-92标准)。
根据Wikipedia,"国民性格"在该版本的标准中添加了字符串。那篇文章引用的是实际的标准文档http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt,其中包含:
<关键字>国家字符用于指定字符 具有特定实现定义字符的字符串数据类型 剧目。提供特殊语法(N'字符串')用于表示 该角色曲目中的文字。
所以,是的,似乎它绝对是标准的一部分。
<强>更新强>
正如Damien_The_Unbeliever在这里的评论中所指出的,上面链接的标准文件实际上是一个草案(据说实际标准文件不公开),但在我看来,似乎足以证明,至少就国家性质N
而言,这是标准。
答案 1 :(得分:1)
在
部分下4.2字符串
SQL92规范(http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt)
s NATIONAL CHARACTER用于指定角色 具有特定实现定义字符的字符串数据类型 剧目。提供特殊语法(N'string')用于表示 该角色曲目中的文字。
是的,根据最广泛使用的规范
,它是标准ANSI