Oracle中的NLS字符串是什么,它显示为char和nchar以及varchar2和nvarchar2数据类型之间的区别?谢谢
发布于 2015-06-19 14:03:39
每个Oracle数据库实例都有两个可用的字符集配置:
由于默认字符集可以配置为不支持所有Unicode字符(如Windows 1252)的字符集,因此Oracle也提供了这种替代字符集配置,这是保证支持Unicode的原因。
因此,假设您的数据库使用Windows1252作为默认字符集(不是我推荐的),UTF-8用于国家(或备用)字符集.
然后,如果您有一个表列,您不需要支持各种奇怪的unicode字符,那么您可以使用一个类型,如varchar2,如果您愿意。这样做可能会节省一些空间。
但是,如果您确实需要存储和支持unicode字符,那么对于非常具体的实例,您的列应该定义为nvarchar2,或者其他使用国家字符集的类型。
也就是说,如果数据库的默认字符集已经是支持Unicode的字符集,那么使用nchar、nvarchar2等类型并不是真正必要的。
您可以找到关于主题这里的更多完整信息。
发布于 2015-06-19 11:31:31
AFAIK,NLS表示支持本地语言(换句话说,支持本地化)的National Language Support。来自Oracle文档
国家语言支持(,NLS)是一种技术,使Oracle应用程序能够使用他们的母语与用户进行交互,使用他们的约定来显示数据。
发布于 2015-06-19 14:41:15
当您谈到"NLS“设置时,它并不局限于数据库的字符集配置。
您还具有NLS_DATE_FORMAT、NLS_CURRENCY、NLS_CALENDAR、NLS_LANGUAGE等参数。
大多数用户都可以在会话级别上进行设置,即为每个用户单独设置。
https://stackoverflow.com/questions/30937011
复制相似问题