这些查询之间的含义和区别是什么?
SELECT U'String' FROM dual;
和
SELECT N'String' FROM dual;
最佳答案
N'string'
只返回 string
如NCHAR
类型。 U'string'
也返回 NCHAR
类型,但是它会对 string
进行额外处理:它取代了\\
与 \
和 \xxxx
使用 Unicode 代码点 U+xxxx
, 其中 xxxx
是 4 个十六进制数字。这类似于 UNISTR('string')
,区别在于后者返回NVARCHAR2
. U'
当您想要一个独立于编码和 NLS 设置的 Unicode 字符串时,文字很有用。例子:
select n'\€', u'\\\20ac', n'\\\20ac' from dual;
N'\€' U'\\\20AC' N'\\\20AC'
----- ---------- ----------
\€ \€ \\\20ac
关于sql - Oracle 中 N'String' 与 U'String' 文字之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48076425/