大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Oracle教程
Oracle練習題

Oracle常用函數

Lower

轉換小寫

upper

轉換大寫

substr

取子串

length

取長度

trim

去空格

to_date

將字符串轉換成日期

to_char

將日期或數字轉換成字符串

to_number

將字符串轉換成數字

nvl

可以將null轉換成一個具體值

case

分支語句

decode

同case

round

四舍五入

lower

● 查詢員工,將員工姓名全部轉換成小寫

select lower(ename) from emp;

upper

● 查詢job為manager的員工

select * from emp where job=upper('manager');

substr

● 查詢姓名以M開頭所有的員工

select * from emp where substr(ename, 1,1)='M';

length

● 取得員工姓名的長度

select length(ename) from emp;

trim

trim會去首尾空格,不會去除中間的空格。

● 取得工作崗位為MANAGER的所有員工

select * from emp where job=trim('MANAGER    ');

to_date

● 查詢1981-02-20入職的員工(第一種方法,與數據庫的格式匹配上)

select * from emp where HIREDATE='20-2月 -81';

● 查詢1981-02-20入職的員工(第二種方法,將字符串轉換成date類型)

select * from emp where hiredate=to_date('1981-02-20 00:00:00', 'YYYY-MM-DD HH24:MI:SS');

to_date可以將字符串轉換成日期,具體格式to_date(字符串,匹配格式)。

日期格式的說明

控制符

說明

YYYY

表示年

MM

表示月

DD

表示日

HH12,HH24

表示12小時制,表示24小時制

MI

表示分

SS

表示秒

to_char

● 查詢1981-02-20以后入職的員工,將入職日期格式化成yyyy-mm-dd hh:mm:ss

select empno, ename, to_char(hiredate, 'yyyy-mm-dd hh24:mi:ss') from emp where hiredate>to_date('1981-02-20 00:00:00', 'YYYY-MM-DD HH24:MI:SS');

● 查詢員工薪水加入千分位

select empno, ename, to_char(sal, '$999,999') from emp;

● 查詢員工薪水加入千分位和保留兩位小數

select empno, ename, to_char(sal, '$999,999.00') from emp;

將數字轉換成字符串,格式

控制符

說明

9

表示一位數字

0

位數不夠可以補零

$

美元符

L

本地貨幣符號

.

顯示小數

,

顯示千分位

to_number

將字符串轉換成數值

select * from emp where sal>to_number('1,500', '999,999');

nvl

● 取得員工的全部薪水,薪水+津貼

select empno, ename, sal, comm, sal+comm from emp;

以上結果不正確,主要原因是津貼(comm)字段為null,所以無法計算,所以正確的做法是將津貼先轉換成0,再計算。可以使用Oracle提供的nvl,該函數的語法格式為:nvl(表達式1,表達式2),表達式1:指的是字段名稱;表達式2:指的是將該字段的null轉換成的值。

● 采用nvl函數,取得員工的全部薪水,薪水+津貼

select empno, ename, sal, comm, sal+nvl(comm,0) from emp;

以上結果是正確的,在做表設計的時候,關于數值字段最好不允許為null,可以設置缺省值。

case … when … then …end

● 如果job為MANAGERG薪水上漲10%,如果job為SALESMAN工資上漲50%

select empno, ename, job, sal, (case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 end) as newsal from emp;

decode

同case …when …then … end

● 如果job為MANAGERG薪水上漲10%,如果job為SALESMAN工資上漲50%

select empno, ename, job, sal, decode(job, 'MANAGER', SAL*1.1, 'SALESMAN', sal*1.5) as newsal from emp;

round

四舍五入

select round(1234567.4567, 2) from dual;

Dual是oracle提供的,主要為了方便使用,因為select的時候需要用from。

全部教程
主站蜘蛛池模板: 在线a视频| 婷婷在线免费视频 | 天天干天天谢 | 成人97在线观看免费高清 | 亚洲欧洲免费 | 99久久国产免费中文无字幕 | 一区二区三区国产 | 国产精品国产三级国产无毒 | 天天干人人 | 国产成人精品视频 | a级做爰片毛片视频 | 亚洲欧美日韩精品香蕉 | 久久久99视频 | 99视频在线精品免费 | 国产日韩久久久久69影院 | 黄色在线免费看 | 成年性午夜免费视频网站不卡 | 午夜综合 | 欧美日韩中文字幕在线手机版本 | 三人性free孕交欧美 | 久久99国产精品成人 | 色青青草原桃花久久综合 | 在线观看国产一区二区三区99 | 99精品wwxx在线观看 | 国产极品嫩模大尺度福利视频 | 免费永久欧美性色xo影院 | 久久香蕉国产线看观看精品蕉 | 91久久综合九色综合欧美亚洲 | 国产99精品在线观看 | 91精品国产免费久久久久久青草 | 国产香蕉久久精品综合网 | 国产日产欧产精品网站 | 一级s片| 精品一区二区三区免费爱 | 免费的黄色网 | 成人免费视频在线观看 | 成人在线视频免费观看 | 亚洲国产成人99精品激情在线 | 久久精品国产丝袜 | 58av国产精品 | 日日好 |