大战熟女丰满人妻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。

全部教程
主站蜘蛛池模板: 国产欧美成人免费观看视频 | 免费h片在线观看网址最新 免费v片在线观看无遮挡 | 日韩欧美中文字幕在线观看 | 国产欧美日韩亚洲 | 欧美成人全部费免网站 | 在线精品自拍 | 四虎在线影视 | 性欧美xo视频在线观看 | 日本阿v精品视频在线观看 日本爱爱免费视频 | 日本人一级毛片视频 | 欧美色精品天天在线观看视频 | 99精品国产在现线免费 | 在线观看精品国语偷拍 | 神马啪啪 | 国产精品久久久久毛片真精品 | 性感毛片| 爆操波多野结衣 | 日本伊人久久 | a毛片免费看| 久久精品国产一区二区三区肥胖 | 欧美日韩在线看 | 天堂伊人网 | 欧美九九视频 | 奇米第四色网站 | 国内视频精品 | 久久美女精品国产精品亚洲 | 国产美女久久精品香蕉69 | 久久99精品国产麻豆不卡 | aⅴ在线免费观看 | 日韩中文字幕在线有码视频网 | 久久国产亚洲精品 | 久青草免费视频手机在线观看 | 亚洲你懂的 | 一级欧美一级日韩毛片99 | 久久久久久久久中文字幕 | 国产福利不卡视频在免费播放 | 97视频在线播放 | 亚洲成人一区 | 欧美成人精品高清在线播放 | 色哦色哦哦色天天综合 | 国产精品国产三级国快看 |