Oracle中varchar2(20)和varchar2(20 byte)区别
开发环境中:有的表中字段类型定义为varchar2(20)有的表中字段类型定义为varchar2(20 byte)
varchar2(20)和varchar2(20 byte)是否相同呢?
相不相同是由数据库的参数NLS_LENGTH_SEMANTICS决定的,有两个单位,char(字符)或者字节(byte),该参数默认值为BYTE。
所以说,在默认情况下 varchar2(20) = varchar2(20 byte)。如果参数值为CHAR 就不相等。
建议:使用统一的格式如:varchar2(20)
演示:
SQL> show parameter nls_length_semantics;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_length_semantics string BYTE
SQL> create table tab1 (
2 id number(10),
3 description varchar2(20)
4 );
Table created.
SQL> create table tab2 (
2 id number(10),
3 description varchar2(20 char)
4 );
Table created.
SQL> desc tab1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
DESCRIPTION VARCHAR2(20)
SQL> desc tab2;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
DESCRIPTION VARCHAR2(20 CHAR)
SQL> alter session set nls_length_semantics=char;
Session altered.
SQL> create table tab3 (
2 id number(10),
3 description varchar2(20)
4 );
Table created.
SQL> desc tab1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
DESCRIPTION VARCHAR2(20 BYTE)
SQL> desc tab2;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
DESCRIPTION VARCHAR2(20)
SQL> desc tab3;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER(10)
DESCRIPTION VARCHAR2(20)
注意:对于SYS和SYSTEM而言不受该NLS_LENGTH_SEMANTICS影响,始终为BYTE
请不要随意修改SYSTEM级别的NLS_LENGTH_SEMANTICS,否则一些成品套件例如EBS将可能无法正常运行。
Oracle中varchar2(20)和varchar2(20 byte)区别相关推荐
- 在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别
[在Oracle中CHAR,NCHAR,VARCHAR,VARCHAR2,NVARCHAR2这五种类型的区别 ] 1.CHAR(size)和VARCHAR(size)的区别 CHAR为定长的字段,最 ...
- oracle中drop、delete和truncate的区别
oracle中drop.delete和truncate的区别 oracle中可以使用drop.delete和truncate三个命令来删除数据库中的表,网上有许多文章和教程专门讲解了它们之间的异同,我 ...
- oracle pga的作用,浅析Oracle中PGA和UGA两者间的区别
初学Oracle时,你可能会对Oracle中PGA和UGA两者间的区别产生疑问,这里就PGA和UGA两者间的区别发表下个人意见,在这里拿出来和大家分享一下. The Process Memory除SG ...
- Oracle中TRUNCATE、DELETE和DROP的区别?
Oracle中TRUNCATE.DELETE和DROP的区别? 区别: 1.删除表时表数据方面 delete是每次从表中删除一行,同时将删除操作作为事务写进日志以便回滚操作,在有该操作的触发器时,执行 ...
- oracle中主键和唯一索引的区别说明
上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于"Oracle中主键和唯一索引的区别",基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自 ...
- 分组函数group by和Oracle中分析函数partition by的用法以及区别
今天有个同事给我打电话问我题目列出的这个问题,在日常开发中,确实它们俩都是与分组有关的,但是需要注意的是一个是分组函数另一个是分析函数,讲解用到的表就以Oracle中schema的scott的EMP表 ...
- oracle 日期 区别,oracle中日期类型 to_date 和to_timestamp什么区别啊?
1.to_date() 和to_timestamp()区别 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒.如果要取到毫秒,oracle 9i以上版本,可以 ...
- ORACLE中分钟用mm和mi 标示区别
oracle中的日期格式为: 坑之一:HH和HH24 12小时制:yyyy-MM-dd HH:mi:ss 24小时制:yyyy-MM-dd HH24:mi:ss 在java中HH和hh是区分12小时制 ...
- oracle中drop和delete,oracle中delete drop truncate的用法和区别
数据库的运维中,经常会遇到delete drop truncate的操作,那么如何去把握它们的用法和区别呢? 比如当数据库空间爆满,已经增长到存储空间单个存储文件的最大值32G.你需要通过一些办法释放 ...
- 转 Oracle 删除表,oracle 中删除表 drop delete truncate 的区别
相同点,使用drop delete truncate 都会删除表中的内容 drop table 表名 delete from 表名(后面不跟where语句,则也删除表中所有的数据) truncate ...
最新文章
- 【Python】青少年蓝桥杯_每日一题_10.27_日期差值的判断
- 计算机与新闻业未来发展,计算机学院举办“智创未来,谈思维与职业发展”活动...
- new HashMap<String, Object>();
- Deskreen – 将电脑屏幕共享到浏览器中,做第二块屏幕[Win/macOS/Linux]
- Shell脚本实现模拟并发及并发数控制
- [Java] 蓝桥杯ALGO-118 算法训练 连续正整数的和
- 如何通过注册表修改默认程序
- 如何压缩ppt文件,这个方法你该知道
- 寂寞沙洲冷c语言程序,周传雄《寂寞沙洲冷》钢琴谱
- 关于AI-人工智能看法,进行漫谈。
- 编写.bat执行jar包
- 九种引人瞩目的开源大数据技术
- shader forge初级篇|反射材质的运用
- esp8266保存html文件,八,ESP8266 文件保存数据(基于Lua脚本语言)
- 微信开发:NAT穿透
- 有一头母牛,它每年年初要生一头小母牛;每头小母牛从第四个年头起,每年年初也要生一头小母牛。按此规律,若无牛死亡,第20个年头上共有多少头母牛
- 春招进来的新人23岁Java开发上来秀了波操作,真是扮猪吃老虎
- 御用导航提示页面_终实现微信位置发送到汽车导航 越用越好用
- 鸿蒙系统需要大运存吗,荣耀5G最新确认,鸿蒙系统+双5000万+16GB大运存,这才是荣耀...
- 洛谷 P1496 火烧赤壁 题解 —— 离散化
热门文章
- 【报告分享】2019中国社交电商白皮书.pdf
- java实现c语言的函数_C语言tolower函数介绍、示例和实现
- 读书笔记——数据压缩入门(柯尔特·麦克安利斯)中
- Leetcode每日一题:1122.relative-sort-array(数组的相对排序)
- Leetcode每日一题:15.3sum(三数之和)
- 白板机器学习笔记 P3-P8 高斯分布
- 50行代码的MVVM,感受闭包的艺术
- 计算机图形图像发展前景,计算机图形学发展前景有什么趋势?
- 如何在sql存储过程中打log_SQL语句优化
- 电脑控制手机屏幕软件_手机屏幕如何投屏到电脑