前面介绍了Oracle的基本参数,从这节开始讲其他的参数,参数从v$parameter中提取

基本参数请看如下链接: http://www.zhaibibei.cn/oralce/oracle-parameter/

如无特殊说明数据库版本为11.2


nls_length_semantics

1.png
  1. 参数类型:字符串
  2. 语法: NLS_LENGTH_SEMANTICS = string
  3. 默认值: BYTE
  4. 可在会话级别修改
  5. 取值范围BYTE | CHAR

该参数指定数据库的字符比较的规则


该参数可以让CHAR 和VARCHAR2类型的列使用byte or character length semantics

已存在的列不受影响

NCHAR, NVARCHAR2, CLOB, and NCLOB 类型总是character的,该参数可以更改

该参数不会影响sys用户下的表


Column Length Semantics

Column Length Semantics 决定列的长度以字节(bytes)计算还是字符(characters)计算

由于有些字符含有多个字节,这样就会导致存储的内容有所不同

例如10bytes并不能存储10个汉字

可以手动为新列指定不同的Column Length Semantics

CREATE TABLE byte_col (a VARCHAR2(10 BYTE));

实际截图:

2.png

参考连接

https://docs.oracle.com/cd/E18283_01/server.112/e17110/initparams148.htm

https://docs.oracle.com/cd/E11882_01/server.112/e10706/repunicode.htm#REPLN572


下期参数

nls_nchar_conv_excp