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

全部教程
主站蜘蛛池模板: 天天干夜夜玩 | 久草在现视频 | 天天操天天干天天摸 | 亚洲欧美一区二区三区四区 | 日本人在线看片 | 色www国产阿娇 | 国产精品亚洲一区二区三区正片 | 五月天婷婷在线播放 | 韩国一级特黄毛片大 | 欧美日韩亚洲精品一区二区三区 | 国产中文| 天天躁日日躁成人字幕aⅴ 天天躁日日躁狠狠躁黑人躁 | 亚洲一区有码 | 91中文字幕在线一区 | 精品自拍视频在线观看 | 拍真实国产伦偷精品 | 国内自拍小视频 | 成人久久18免费游戏网站 | 亚洲成a人v | 国自产拍在线天天更新91 | 99国产精品国产精品 | 欧美日韩国产高清视频 | 美美女高清毛片视频黄的一免费 | 99精品视频在线视频免费观看 | 成人精品一区二区久久久 | 国产dvd毛片在线视频 | 激情浪荡yin乱之合集 | 色婷亚洲 | 香蕉视频一区二区 | 亚洲精品久久99久久一 | 99色视频 | 四虎影永久在线观看精品 | 四虎永久在线精品影院 | 欧美成人日韩 | 日本一区二区三区四区在线观看 | 九九爱这里只有精品 | 看一级特黄a大一片 | 黄色在线观看视频免费 | 亚洲一区二区三区不卡在线播放 | 青青青国产在线视频 | 综合7799亚洲伊人爱爱网 |