社区
基础和管理
帖子详情
varchar & varchar2有什么区别?
wangjiamin
2005-03-28 10:42:32
oracle 有没有sql server中的 varchar nvarchar。
就是oracle有没有专门存储unicode的类型,还是需要安装时候指定?
...全文
262
4
打赏
收藏
varchar & varchar2有什么区别?
oracle 有没有sql server中的 varchar nvarchar。 就是oracle有没有专门存储unicode的类型,还是需要安装时候指定?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lonking
2005-04-05
打赏
举报
回复
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储。
2.CHAR的效率比VARCHAR2的效率稍高。
3.目前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做,尽管它保留以后这样做的权利。Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
何时该用CHAR,何时该用varchar2?
CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系.
VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’。
VARCHAR2虽然比CHAR节省空间,但是如果一个VARCHAR2列经常被修改,而且每次被修改的数据的长度不同,这会引起‘行迁移’(Row Migration)现象,而这造成多余的I/O,是数据库设计和调整中要尽力避免的,在这种情况下用CHAR代替VARCHAR2会更好一些。
realx
2005-03-28
打赏
举报
回复
VARCHAR(<size>)
可变字符型,当前与VARCHAR2(<size>)相同。
VARCHAR2(<SIZE>)
可变字符型,当前与VARCHAR(<size>)相同。VARCHAR2 类型的字段(列)可存放4000个字符;但是VARCHAR2 变量可以存放32,767 个字符。大小必须指定。
freddy2003
2005-03-28
打赏
举报
回复
不要特别安装
nvarchar2(20)
kuanghai
2005-03-28
打赏
举报
回复
2个是一样的,至少现在是。Oracle提倡用Varchar2,因为Varchar是国际标准的规定的,他认为标准会变,造成数据的不兼容。
Python2爬虫获取的数据存储到MySQL中时报错"Incorrect string value: '\\xE6\\x96\\xB0\\xE9\\x97\\xBB' for column 'new'...
Python2爬虫获取的数据存储到MySQL中时报错"Incorrect string value: '\\xE6\\x96\\xB0\\xE9\\x97\\xBB' for column 'new' at row 1"的解决办法 由于一直使用python3进行编码,在使用Python2时,将爬虫数据连接数据库进行存储时,出现如上的报错,经查资料 ...
SQL中字符串的类型及从字段中由“. - ,”等分隔开的提取
字符串的类型、如何计算字符串的长度、如何从字符的字段中提取由“. - ,”等分隔开的字符串,substring_index()与substring()函数的
区别
【MySQL学习笔记】第5章 数据类型和数据输入
5.1 什么是数据类型 数据库的表中只能输入各个列指定格式的数据。如,指定为‘数值类型’的列中不能输入字符等数据。这种数据格式称为数据类型。 数据类型具有降低输入错误数据的可能性、保证数据库整体可信赖性的特点。 MySQL和其他RDBMS相比,数据输入的检查功能相对宽松。如,向数值类型的列中输入文字不会报错,而是会输入‘0’。这会导致输入的数据和用户想要的数据出现偏差。 5.2 数值类型 5.2.1 数值类型的种类 常用的数值型数据类型 数据类型 含义 对应的范围 INT
数据库表设计
步骤: 1.先建立1收入,1支出表,后续可优化为人员1张表,类型表1张 ==================================================== CREATE TABLE expenses ( id int(18) NOT NULL AUTO_INCREMENT COMMENT ‘id’, out_name
varchar
(30) NOT NULL COMMENT ...
数据库的搭建以及练习
数据库的安装方式以及创建
基础和管理
17,377
社区成员
95,112
社区内容
发帖
与我相关
我的任务
基础和管理
Oracle 基础和管理
复制链接
扫一扫
分享
社区描述
Oracle 基础和管理
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章