這篇文章主要介紹了ORACLE中關於表的一些特殊查詢語句通過多種方式給大家介紹,在文末給大家提到了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中關於表的一些特殊查詢語句,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對神馬文庫網站的支持!