ORACLE中關(guān)于表的一些特殊查詢語句
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ù)庫的測(cè)試表單:
--單表查詢數(shù)據(jù) 語法 select (查詢) * 所有 /查詢的字段,多個(gè)字段 ,隔開 from (來自) 表名稱 --查詢所有員工的信息 select * from scott.emp; select * from dept; --查詢所有員工的編號(hào),姓名和職位 指定字段名查找數(shù)據(jù) select empno,ename,job from emp; --查詢所有員工的編號(hào),姓名和年薪 select * from emp; select empno,ename,sal*12 from emp; --通過查詢使用運(yùn)算符不會(huì)對(duì)原有數(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是虛表,專用于測(cè)試使用 -- 可以給字段取別名 select 1+1 AS result1 from dual; select sysdate AS DATES from dual; --取別名 sal*12 改成income as 可以省略 --''單引號(hào)代表 字符串 " "取別名時(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 --可以對(duì)數(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; --查詢所有員工編號(hào),姓名,年薪,按照年薪排序 --排序可以用 別名 select empno,ename,sal*12 income from emp order by income desc;
總結(jié)
以上所述是小編給大家介紹的ORACLE中關(guān)于表的一些特殊查詢語句,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法
這篇文章主要為大家詳細(xì)介紹了ORACLE實(shí)現(xiàn)自定義序列號(hào)生成的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10oracle 服務(wù)啟動(dòng),關(guān)閉腳本(windows系統(tǒng)下)
Windows下的批出理程序,就是dos命令的集合,我們也可以通過運(yùn)行程序里的命令來開啟服務(wù).2009-07-07使用geotools導(dǎo)入shp文件到Oracle數(shù)據(jù)庫時(shí)表名帶下劃線問題的解決方法
這篇文章主要介紹了使用geotools導(dǎo)入shp文件到Oracle數(shù)據(jù)庫時(shí)表名帶下劃線的問題解決 的相關(guān)資料,需要的朋友可以參考下2016-08-08oracle在導(dǎo)入數(shù)據(jù)時(shí)報(bào)600錯(cuò)誤的解決方法
最近在工作中進(jìn)行oracle數(shù)據(jù)庫導(dǎo)入的時(shí)候遇到了600錯(cuò)誤,通過查找相關(guān)的資料,最終終于解決了,下面這篇文章主要給大家介紹了關(guān)于oracle在導(dǎo)入數(shù)據(jù)時(shí)報(bào)600錯(cuò)誤的解決方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09Oracle連接遠(yuǎn)程數(shù)據(jù)庫的四種方法
這篇文章主要為大家詳細(xì)介紹了Oracle連接遠(yuǎn)程數(shù)據(jù)庫的四種設(shè)置方法和注意事項(xiàng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05安裝Oracle時(shí)出現(xiàn)環(huán)境變量Path的值大于1023的解決辦法
這篇文章主要介紹了安裝Oracle時(shí)出現(xiàn)環(huán)境變量Path的值大于1023的解決辦法,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-12-12oracle 11g配置 解決啟動(dòng)連接數(shù)據(jù)庫出現(xiàn)的ora錯(cuò)誤
這篇文章主要為大家詳細(xì)介紹了oracle 11g配置,為大家分整理了解決啟動(dòng)連接數(shù)據(jù)庫出現(xiàn)ora錯(cuò)誤的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12Oracle 統(tǒng)計(jì)用戶下表的數(shù)據(jù)量實(shí)現(xiàn)腳本
這篇文章給大家分享Oracle 統(tǒng)計(jì)用戶下表的數(shù)據(jù)量實(shí)現(xiàn)腳本,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09Oracle 監(jiān)聽器密碼設(shè)置方法(LISTENER)
在缺省的情況下,任意用戶不需要使用任何密碼即通過lsnrctl 工具對(duì)Oracle Listener進(jìn)行操作或關(guān)閉,從而造成任意新的會(huì)話都將無法建立連接2016-09-09