首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle SQL中的NLS字符串是什么?

Oracle SQL中的NLS字符串是什么?
EN

Stack Overflow用户
提问于 2015-06-19 11:27:25
回答 3查看 5K关注 0票数 4

Oracle中的NLS字符串是什么,它显示为char和nchar以及varchar2和nvarchar2数据类型之间的区别?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-06-19 14:03:39

每个Oracle数据库实例都有两个可用的字符集配置:

  1. 默认字符集(由char、varchar2、clob等类型使用)
  2. 国家字符集(由nchar、nvarchar2、nclob等类型使用)

由于默认字符集可以配置为不支持所有Unicode字符(如Windows 1252)的字符集,因此Oracle也提供了这种替代字符集配置,这是保证支持Unicode的原因。

因此,假设您的数据库使用Windows1252作为默认字符集(不是我推荐的),UTF-8用于国家(或备用)字符集.

然后,如果您有一个表列,您不需要支持各种奇怪的unicode字符,那么您可以使用一个类型,如varchar2,如果您愿意。这样做可能会节省一些空间。

但是,如果您确实需要存储和支持unicode字符,那么对于非常具体的实例,您的列应该定义为nvarchar2,或者其他使用国家字符集的类型。

也就是说,如果数据库的默认字符集已经是支持Unicode的字符集,那么使用nchar、nvarchar2等类型并不是真正必要的。

您可以找到关于主题这里的更多完整信息。

票数 4
EN

Stack Overflow用户

发布于 2015-06-19 11:31:31

AFAIK,NLS表示支持本地语言(换句话说,支持本地化)的National Language Support。来自Oracle文档

国家语言支持(,NLS)是一种技术,使Oracle应用程序能够使用他们的母语与用户进行交互,使用他们的约定来显示数据。

票数 3
EN

Stack Overflow用户

发布于 2015-06-19 14:41:15

当您谈到"NLS“设置时,它并不局限于数据库的字符集配置。

您还具有NLS_DATE_FORMATNLS_CURRENCYNLS_CALENDARNLS_LANGUAGE等参数。

大多数用户都可以在会话级别上进行设置,即为每个用户单独设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30937011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档