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; --想展示所有的职位,不能有重复的 排除重复 --去重复 使用 distinct select 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中关于表的一些特殊查询语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
上一篇:Oracle查询当前的crs/has自启动状态实例教程
栏 目:其它数据库
下一篇:Oracle密码过期如何取消密码180天限制及密码180天过期,账号锁住的问题
本文标题:ORACLE中关于表的一些特殊查询语句
本文地址:https://zz.feitang.co/shujuku/33151.html
您可能感兴趣的文章
- 12-31hiredis从安装到项目实战操作
- 12-31phpmyadmin登录时怎么指定服务器ip和端口
- 12-31MySQL线上死锁分析实战
- 12-31MySQL 触发器的使用和理解
- 12-31MySQL 字段默认值该如何设置
- 12-31Redis主从同步配置的方法步骤(图文)
- 12-31MySQL 字符串拆分操作(含分隔符的字符串截取)
- 12-31redis 交集、并集、差集的具体使用
- 12-31MySQL精讲之二:DML数据操作语句
- 12-31PostgreSQL判断字符串是否包含目标字符串的多种方法


阅读排行
推荐教程
- 12-23PL/SQL登录Oracle数据库报错ORA-12154:TNS:无法解析指定的连接标识符
- 12-23使用imp和exp命令对Oracle数据库进行导入导出操作详解
- 12-11mysql代码执行结构实例分析【顺序、分支、循环结构】
- 12-08添加mysql的用户名和密码是什么语句?
- 12-05mysql的事务,隔离级别和锁用法实例分析
- 12-23详解Oracle游标的简易用法
- 12-20PhpMyAdmin出现错误数据无法导出怎么办?
- 12-19Redis中实现查找某个值的范围
- 12-15浅析mysql迁移到clickhouse的5种方法
- 12-15CentOS7 64位下MySQL5.7安装与配置教程




