Oracle还是比较常用的,于是我研究了一下Oracle Dual表,在这里拿出来和大家分享一下,希望对大家有用。字符函数分为转换函数和字符操作函数
我们拥有10年网页设计和网站建设经验,从网站策划到网站制作,我们的网页设计师为您提供的解决方案。为企业提供成都做网站、成都网站设计、微信开发、微信小程序开发、手机网站制作、HTML5、等业务。无论您有什么样的网站设计或者设计方案要求,我们都将富于创造性的提供专业设计服务并满足您的需求。
转换函数有:LOWER,UPPER,INITCAP(首字母大写)
字符操作函数:CONCAT,SUBSTR,LENGTH,INSTR(某个字符串在此字符串中的位置),IPAD(字符串按某种格式显示);
例如:
- select initcap(ename) from emp;
- //返回所有所有的人名,并且将名字首字母大写。
- select concat(ename,job) from emp;
- //返回一列,此列是由ename和job组成的。
- select initcap(substr(ename,1,3)) from emp;
- //返回一列,此列是某列的字串。
- Select length(‘我爱你’) from dual;
- //返回3,字母和汉字都是按两个字节来存储的。
- select lpad(ename,10,'*') from emp;
- //返回名字,如果不足10个,用*补全。
2:在Oracle内部存储都是以大写存储的。
例如:
- select * from emp where ename='king';
- //查找不出结果
- select * from emp where ename=upper('king');
- //能查找出符合条件的结果。
3:Oracle Dual表
Oracle Dual表比较特殊,是一个系统表,只有一个Dummy Varchar2(1)字段,而且Oracle会尽量保证它只返回一条记录。在查询Oracle中的sysdate或sequence.currval等系统值时需要在Select 语句中写Dual。如:select sysdate from dual.用Dual表来查询一些没有具体用户表的数据。
其实在每个表中都有一个隐藏的rowid,rownum(除了dual,其他表都有) 。
dual不仅可以插入还可以删除(***不要删除该表,可能会引起数据库无法启动。如果误删也有解决办法,将参数replication_dependency_tracking 设置成 FALSE就可以了)。
dual它应该是系统内存中的一个虚拟的表,而系统中的dual表只是为了维护数据字典和系统对dual的操作权限。在看看下面的实验,向Oracle Dual表中随便插入几条记录然后查询:
- SQL> select * from dual;
- D
- -
- X
- SQL> select rowid ,dummy from dual;
- ROWID D
- ------------------ -
- AAAM1CAABAAAAgiAAA X
- SQL> select rowid ,dummy from dual order by dummy;
- ROWID D
- ------------------ -
- AAAM1CAABAAAAgiAAA X
- AAAM1CAABAAAAgiAAB Y
- AAAM1CAABAAAAgiAAC Y
- AAAM1CAABAAAAgiAAD Z
【编辑推荐】
分享文章:你是否了解Oracle Dual表
URL链接:http://www.shufengxianlan.com/qtweb/news18/247618.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联