Oracle字符值的比较和储存

2016-02-19 14:39 1 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享Oracle字符值的比较和储存,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

以前对Oracle字符值的比较和储存没有弄得很清楚,直到最近写程序碰到了,才认真去实践验证了一下,结果还真的发现自己的一些错误熟悉。

对于char和varchar2类型数据库列值的储存,以前一直以为:

1、char列按输入的值储存,假如值长度不够char列的长度,则在后面补上空格char(32)

2、varchar2列按输入的值储存,假如值长度不够varchar2列的长度,后面不补空格 上面2点都是对的,不过下面这一点就不对了

3、即使输入的值后面含空格,varchar2列在储存时也会去掉,也就是说varchar2列后一定不含空格

SQL create table testyyw(col1 char(2),col2 varchar2(2)); Table created SQL insert into testyyw values ('x','x'); 1 row inserted SQL insert into testyyw values ('x ','x '); 1 row inserted SQL select dump(col1),dump(col2) from testyyw; DUMP(COL1) DUMP(COL2) ------------------------------------------------------------------------ Typ=96 Len=2: 120,32 Typ=1 Len=1: 120 Typ=96 Len=2: 120,32 Typ=1 Len=2: 120,32

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)


用dump函数看出来了,2行在数据库中的储存方式不一样的,varchar2列后面也有空格

在网上查了下Oracle字符的比较,查到了如下结果 关于字符值的比较, Oracle使用以下两种比较规则:

1、空格补齐比较语法

对于类型CHAR、NCHAR、text literals、USER函数值, 在进行比较时, 先在较短的那个 字符串后补上空格以使长度相等, 然后再进行比较. 所以, 'ab'='ab '

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

2、非补齐比较语法

对于类型VARCHAR2、NVARCHAR2, 则不用补齐, 直接进行比较; 而对于1和2的类型作比较的情况,我的试验结果都是原值直接比较,也就是按2类的方法来

来源:https://www.tulaoshi.com/n/20160219/1607472.html

延伸阅读
标签: 生活常识
黑豆的选购和储存方法 教你黑豆的选购和储存方法。 黑豆如何选购储存 选购黑豆时,以豆粒完整、大小均匀、颜色乌黑者为好。由于黑豆表面有天然的蜡质,会随存放时间的长短而逐渐脱落,所以,表面有研磨般光泽的黑豆不要选购。黑豆去皮后一种是黄仁的和绿仁两种,黄仁的是小黑豆,绿仁的是大黑豆,现在有很多在网上卖的是...
标签: Web开发
正则表达式语法表示的字符类 字符类 匹配的字符 示例 d 从0~9的数字 dd可以匹配72,但不能匹配7a或者a7 D 非数字的字符 DDD可匹配a%c,但不能匹配123 w 下划线和单词字符 www可以匹配a2_,但不能匹配x&a W 非单词字符和非下划线 WW可以匹配&^,但不能匹配a1 s 空白符,包括了制表符,换行符,回车符,换页...
--功能:提供字符串的替代聚合函数 --说明:例如,将下列数据 --test_id test_value -------------------- 'a' '01,03,04' 'a' '02,04' 'b' '03,04,08' 'b' '06,08,09' 'c' '09' 'c' '10' --转换成test_vlaue列聚合后的函数,且聚合后的字符串中的值不重复 --test_id test_value -------------------- 'a' '01,03,04,02' 'b' '03,04...
根据,MySQL 会自动将数字转化为字符串,反之亦然。 mysql SELECT 1+'1'; - 2 mysql SELECT CONCAT(2,' test'); - '2 test' 若想要将数字明确地转化为字符串,可使用 CAST()或 CONCAT()函数: mysql SELECT 38.8, CAST(38.8 AS CHAR); - 38.8, '38.8' mysql SELECT 38.8, CONCAT...
清洗小白鞋妙招:清洁保养和储存 首先,清洁表面污垢,拿着球鞋碰撞几下,将其沾有的大块污垢通过碰撞的方式散落在地。通过湿巾和海绵,分别擦拭球鞋表面与中底上的污渍。准备一盆干净的温度在 40℃ 左右的清水,用刷子蘸取少量水,再将清洁剂涂于刷子上然后对球鞋表面与中底进行深度清洁。小面积需要清洁的部分则选用柔软的小刷子进...

经验教程

895

收藏

26
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部