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

所属分类: 数据库 / oracle 阅读数: 1597
收藏 0 赞 0 分享

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中关于表的一些特殊查询语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

更多精彩内容其他人还在看

VS2015连接Oracle数据库的详细步骤

这篇文章主要介绍了VS2015连接Oracle数据库的详细步骤,需要的朋友可以参考下
收藏 0 赞 0 分享

常用的Oracle doc命令(收藏)

这篇文章主要介绍了常用的Oracle doc命令(收藏)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

ORACLE SQL语句优化技术要点解析

这篇文章主要介绍了ORACLE SQL语句优化技术的相关内容,小编觉得挺不错的,在这里分享给大家,需要的朋友可以参考下。
收藏 0 赞 0 分享

ORACLE多条件统计查询的简单方法

这篇文章主要介绍了ORACLE多条件统计查询的简单方法,具有一定参考价值。这里给大家分享下,希望对大家有所帮助。
收藏 0 赞 0 分享

ORACLE批量导入图片到BLOB字段代码示例

这篇文章主要介绍了ORACLE批量导入图片到BLOB字段代码示例,此代码示例是文章作者的项目源码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

PLSQL Developer登录的默认密码介绍

这篇文章主要介绍了PLSQL Developer登录的默认密码介绍,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Oracle数据行拆分多行方法示例

oracle数据库使用过程中,怎样将一行或者多行数据分割成需要的多行数据,本文我们就来看看具体方法,需要的朋友可以参考。
收藏 0 赞 0 分享

Oracle表空间不足的两种解决办法

这篇文章主要介绍了Oracle表空间不足的两种解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

巧妙解决Oracle NClob读写问题(经验分享)

下面小编就为大家带来一篇巧妙解决Oracle NClob读写问题(经验分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

oracle执行update语句时卡住问题分析及解决办法

这篇文章主要介绍了oracle执行update语句时卡住问题分析及解决办法,涉及记录锁等相关知识,具有一定参考价值,需要的朋友可以了解。
收藏 0 赞 0 分享
查看更多