首页数据库ORACLE中关于表的一些特殊查询语句

ORACLE中关于表的一些特殊查询语句

时间2024-02-28 13:50:03发布访客分类数据库浏览467
导读:收集整理的这篇文章主要介绍了ORACLE中关于表的一些特殊查询语句,觉得挺不错的,现在分享给大家,也给大家做个参考。 1: 如何判断字段的值里面:那些数据包含小写字母或大小字母判断字段N...
收集整理的这篇文章主要介绍了ORACLE中关于表的一些特殊查询语句,觉得挺不错的,现在分享给大家,也给大家做个参考。

1: 如何判断字段的值里面:那些数据包含小写字母或大小字母

判断字段NamE的值里面有小写字母的记录

方式1:

SELECT NAME From test WHERE regexp_like(NAME,'[[:lower:]]');
    

方式2

SELECT NAME From TEST WHERE regexp_like(NAME,'[a-z]');
    

判断字段NAME的值里面有大写字母的记录

方式1:

SELECT NAME FROM TEST WHERE regexp_like(NAME,'[[:upPEr:]]');
    

方式2:

SELECT NAME FROM TEST WHERE regexp_like(NAME,'[A-Z]');
    

2: 如何判断字段里面的值里面包含特殊字符

例如,我想找出表TEST的字段NAME里面包含特殊字符& 的相关记录

SELECT NAME FROM ESCMOWNER.TEST WHERE regexp_like(NAME,'[&
    ]');
    

3: 如何判断字段里面的值前面或后面有空格

1:字段前面或后面存在空格的记录信息:

SELECT * FROM TEST WHERE length(NAME) >
     length(trim(NAME))

2:字段值前面存在空格的记录信息:

SELECT * FROM ESCMOWNER.TEST WHERE LENGTH(LTRIM(NAME))  LENGTH(NAME);
    

3:字段值后面存在空格的情况:

SELECT * FROM ESCMOWNER.TEST WHERE LENGTH(RTRIM(NAME))  LENGTH(NAME);
    

4:如何判断字段里面的值里面包含空格

一直以来,以为判断字段里面包含空格(空格位于任意位置)是一件特难、特麻烦的事情,但是在oracle的正则表达式函数REGEXP_LIKE面前,一切不在话下。

SELECT * FROM TEST WHERE REGEXP_LIKE(NAME, '( )+');
    

补充:下面看下Oracle的单表查询语句

使用Oracle 数据库的测试表单:

--单表查询数据  语法 select (查询) * 所有 /查询的字段,多个字段 ,隔开  from (来自) 表名称--查询所有员工的信息 select * from scott.emp;
    select * from dept;
    --查询所有员工的编号,姓名和职位  指定字段名查找数据select empno,ename,job from emp;
    --查询所有员工的编号,姓名和年薪select * from emp;
    select empno,ename,sal*12 from emp;
    --通过查询使用运算符不会对原有数据进行修改--只是在查询的时候进行了运算,展现的是一个新的数据表格select empno,ename,sal*12 from emp;
    --计算1+1?  提供了一个虚拟表,dual-- dual是虚表,专用于测试使用 -- 可以给字段取别名select 1+1 AS result1 from dual;
    select Sysdate AS DATES from dual;
    --取别名 sal*12 改成income as 可以省略--''单引号代表 字符串 " "取别名时用,如果别名包涵特殊字符 使用""包起来select empno,ename,sal*12 "年薪" from emp;
    --查询所有的用户的姓名,职位和薪资,以如下方式进行显示--姓名:xxx ,职位:xxx ,薪资:xxx--字符串 拼接使用 || 连接 不是+select '姓名:'||ename||' ,职位:'||job||' ,薪资:'||sal info from emp;
    --想展示所有的职位,不能有重复的  排除重复 --去重复 使用 distinctselect distinct job,ename from emp;
    --排序 升序 和 降序 ( asc desc ) --排序需要指定排序的字段  默认是 升序 asc--可以对数值 日期 字符串类型进行排序select * from emp order by job asc;
    --按薪水降序,如果薪水相同,再将老员工排到后面(日期降序)--按照多个字段进行排序,order by 只要写一次 ,后续的排序字段使用,隔开 select empno,ename,hiredate,sal from emp order by sal desc , hiredate desc;
     --查询所有员工编号,姓名,年薪,按照年薪排序--排序可以用 别名 select empno,ename,sal*12 income from emp order by income desc;
    

总结

以上所述是小编给大家介绍的ORACLE中关于表的一些特殊查询语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

您可能感兴趣的文章:
  • JDBC Oracle执行executeUpdate卡死问题的解决方案
  • ORACLE检查找出损坏索引(Corrupt Indexes)的方法详解
  • Oracle call 和 exec的详解及区别
  • Oracle数据库中 call 和 exec的区别
  • Oracle基础:通过sqlplus执行sql语句后的结果进行判断
  • Oracle统计信息的导出导入测试示例详解
  • Oracle数据库自动备份脚本分享(超实用)
  • VMware下CentOS静默安装oracle12.2详细图文教程
  • ORACLE中查找定位表最后DML操作的时间小结
  • 运行在容器中的Oracle XE-11g

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: ORACLE中关于表的一些特殊查询语句
本文地址: https://pptw.com/jishu/631507.html
Oracle查询当前的crs/has自启动状态实例教程 oracle中的greatest 函数和 least函数示例代码

游客 回复需填写必要信息