oracle 创建nchar类型,Oracle NChar类型

本篇文章帮大家学习Oracle NChar类型,包含了Oracle NChar类型使用方法、操作技巧、实例演示和注意事项,有一定的学习价值,大家可以用来参考。

在本教程中,您将了解Oracle NCHAR数据类型以及NCHAR和CHAR之间的区别。

Oracle NCHAR数据类型概述

Oracle NCHAR数据类型用于存储固定长度的Unicode字符数据。NCHAR的字符集只能是AL16UTF16或UTF8,在数据库创建时指定为国家字符集。

当使用NCHAR列创建表时,NCHAR列的最大大小始终在字符长度语义中,例如:

CREATE TABLE nchar_demo (

description NCHAR(10)

);

在本例中,description列的最大长度是10个字符。 对于NCHAR列的最大大小,不可能使用字节长度,如下所示:

description NCHAR(10 BYTE) -- not possible

NCHAR列的最大字节长度取决于当前的国家字符集。 它是每个字符中最大字符长度和最大字节数的乘积。

要查找当前的国家字符集,请使用以下语句:

SELECT

*

FROM

nls_database_parameters

WHERE

PARAMETER = 'NLS_NCHAR_CHARACTERSET';

执行上面查询语句,得到类似下面的结果 -

AL16UTF16字符集使用2个字节存储一个字符,所以description列的最大字节长度为20个字节。

Oracle将NCHAR列的最大长度限制为2000字节。 这意味着一个NCHAR列只能容纳2000字符的1字节字符或1000个字符的2字节字符。

NCHAR与CHAR比较/区别

首先,NCHAR的最大长度只在字符长度语义上,而CHAR的最大长度可以是字符长度或字节长度语义。其次,NCHAR将字符存储在国家默认字符集中,而CHAR将字符存储在默认字符集中。

以下语句返回由CHAR使用的默认字符集和由NCHAR使用的默认国家字符集:

SELECT

*

FROM

nls_database_parameters

WHERE

PARAMETER IN(

'NLS_CHARACTERSET',

'NLS_NCHAR_CHARACTERSET'

);

执行上面查询语句,得到以下结果(因环境不同而不同) -

在本教程中,您已经了解了Oracle NCHAR数据类型以及NCHAR和CHAR之间的区别。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值