Oracle查詢語句

2021-08-04 02:22:45 字數 3020 閱讀 5651

select sysdate from dual; dual 臨時的表,使語法結構完整,沒有什麼意義。 oracle中的select語句必須要有from 而sql2008中可以沒有。

起別名
--起別名(as起別名,不用加雙引號. 加空格起別名,要加雙引號)

select name as 姓名 from student where rownum<=2;

select name "姓名"

from student where rownum<=2;

無重複行
--選擇無重複的行,使用distinct關鍵字

select

distinct name from student

偽列
--偽列 rowed 固定為18個字母

序列號rownum

行號rownum

select name from student where rownum<=2;

select * from student where rownum<=2;

系統時間向後推乙個月 sysdate 系統時間 dual 系統表名
select add_months(sysdate,1) from dual;

select add_months(sysdate,3) from dual;

系統日期與指定日期間相差的月份
select months_between(sysdate,date

'2015-01-01') from dual;

select months_between(sdata,to_date('2015-01-01','2015-01-01')) from dual;

取指定日期的最後一天
select last_day(sysdate) from dual;
將指定時間捨入到指定的單位:yyyy,mm,dd,q
select round(sysdate,'mm') from dual;

select trunc(sysdate,'mm') from dual;

--四捨五入,取整

select round(100.5) from dual;

--捨去小數,取整。

select trunc(100.6) from dual;

字元函式
select rtrim(name,'炅') from student;
填充 lpad 左邊填充 rpad 右邊填充
select lpad('num',15,'=') from dual;

select lpad('num',15,'=!') from dual;

select rpad('num',15,'=!') from dual;

去掉所有的數字9 trim
select trim(9

from

9999876789999) from dual;

求字元長度
select length('frances') from dual;

yyyy-mm

-dd hh24-mi

-ss 年月日 時分秒

yy/yyy/yyyy

mm/mon/month

dd—當月第幾天

ddd—當年第幾天

dy /day 當周第幾天

q 季度

ww 當年的第幾周

w 當月的第幾周

hh 12小時制

hh24 24小時制

dy 當周第幾天簡寫

day 當周第幾天全寫

用來轉換空值
select nvl(***,』性別』)from student;

--如果欄位為null,則顯示值

select nvl2(***,』非空』,『為空』)from student ;

case 語句
select  num, case

when num<5

then

'中等'

when

5and num<7

then

'良好'

when

7then

'高階'

else

'頂級'

endfrom student;

union 兩個表中相同的去除 不顯示重複
select *from student

union

select *from score;

--union all 全部顯示 顯示重複

select *from student

union

allselect *from score;

intersect 操作符只返回兩個查詢的公共行
select num from student

intersect

select num from score;

minus 操作符返回從第乙個查詢結果中排除第二個查詢中出現的行
select num from student

minus

select num from score;

Oracle查詢語句

列出所有部門的詳細資訊和部門人數。這裡需要部門的詳細資訊和部門人數,顯然需要我們進行表的連線 那麼這裡我們先貼出兩張表長啥樣 像這樣的關於兩張表的連線,那麼我們一般先一張一張來 比如這裡我們可以先解決部門的詳細資訊 然後解決部門人數 select deptno,count 1 人數 from emp...

oracle查詢語句

查詢第10條到第13條記錄,要求按empno編號公升序排序,先在公升序情況下查詢出前13條記錄,然後將結果倒序,取出倒序後的前4條 即第13條記錄到第10條記錄 然後再按公升序排序,就是要查詢的公升序排列的第10條到第13條記錄。select from select from select from...

oracle 查詢語句

1 select ename name sql nvl comm,0 income job from emp where job not like aa order by job nal comm,0 把null轉為0 nal to char comm no commission nal hired...