溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ORACLE中關(guān)于表的一些特殊查詢語句

發(fā)布時(shí)間:2020-08-28 10:04:32 來源:腳本之家 閱讀:187 作者:瀟湘隱者 欄目:數(shù)據(jù)庫

1: 如何判斷字段的值里面:那些數(shù)據(jù)包含小寫字母或大小字母

判斷字段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里面包含特殊字符&的相關(guān)記錄

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的正則表達(dá)式函數(shù)REGEXP_LIKE面前,一切不在話下。

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

補(bǔ)充:下面看下Oracle的單表查詢語句

使用Oracle 數(shù)據(jù)庫的測試表單:

--單表查詢數(shù)據(jù)  語法 select (查詢) * 所有 /查詢的字段,多個(gè)字段 ,隔開  from (來自) 表名稱
--查詢所有員工的信息 
select * from scott.emp;
select * from dept;
--查詢所有員工的編號,姓名和職位  指定字段名查找數(shù)據(jù)
select empno,ename,job from emp;
--查詢所有員工的編號,姓名和年薪
select * from emp;
select empno,ename,sal*12 from emp;
--通過查詢使用運(yùn)算符不會(huì)對原有數(shù)據(jù)進(jìn)行修改
--只是在查詢的時(shí)候進(jìn)行了運(yùn)算,展現(xiàn)的是一個(gè)新的數(shù)據(jù)表格
select empno,ename,sal*12 from emp;
--計(jì)算1+1?  提供了一個(gè)虛擬表,dual
-- dual是虛表,專用于測試使用 
-- 可以給字段取別名
select 1+1 AS result1 from dual;
select sysdate AS DATES from dual;
--取別名 sal*12 改成income as 可以省略
--''單引號代表 字符串 " "取別名時(shí)用,如果別名包涵特殊字符 使用""包起來
select empno,ename,sal*12 "年薪" from emp;
--查詢所有的用戶的姓名,職位和薪資,以如下方式進(jìn)行顯示
--姓名:xxx ,職位:xxx ,薪資:xxx
--字符串 拼接使用 || 連接 不是+
select '姓名:'||ename||' ,職位:'||job||' ,薪資:'||sal info from emp;
--想展示所有的職位,不能有重復(fù)的  排除重復(fù) 
--去重復(fù) 使用 distinct
select distinct job,ename from emp;
--排序 升序 和 降序 ( asc desc ) 
--排序需要指定排序的字段  默認(rèn)是 升序 asc
--可以對數(shù)值 日期 字符串類型進(jìn)行排序
select * from emp order by job asc;
--按薪水降序,如果薪水相同,再將老員工排到后面(日期降序)
--按照多個(gè)字段進(jìn)行排序,order by 只要寫一次 ,后續(xù)的排序字段使用,隔開 
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;

總結(jié)

以上所述是小編給大家介紹的ORACLE中關(guān)于表的一些特殊查詢語句,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI