sql - Oracle 中 N'String' 与 U'String' 文字之间的区别

标签 sql string oracle literals string-literals

这些查询之间的含义和区别是什么?

SELECT U'String' FROM dual;


SELECT N'String' FROM dual;

最佳答案

  • N'string'只返回 stringNCHAR类型。
  • 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/

    相关文章:

    ruby - 从较小的短语重建原始句子?

    java - 如何获取 anchor 标记内的部分 href

    oracle - Grails 3 - 按 CLOB 值查找对象

    oracle - 如何在Toad中调试存储过程?

    mysql - SQL语法错误

    mysql - 加载数据文件错误: data too short for column

    c++ - 查找字符串中字典序最大的旋转

    C# 连接到 Oracle DB 日期时间格式

    sql - 将时间戳格式化为 1/100 秒/1/10 秒

    sql - oracle sql 中的动态数据透视 - 过程