Oracle初級(jí)測(cè)試題四--單行函數(shù)

--練習(xí)1

--1.寫一個(gè)查詢,用首字母大寫染坯,其它字母小寫顯示雇員的 ename伞芹,
--顯示名字的長(zhǎng)度怯邪,并給每列一個(gè)適當(dāng)?shù)臉?biāo)簽,條件是滿足所有雇員名字的開始字母是J丙者、A 或 M 的雇員复斥,
--并對(duì)查詢結(jié)果按雇員的ename升序排序。(提示:使用initcap械媒、length目锭、substr)

select initcap(ename) as 首字母大寫,
length(ename) as 名字長(zhǎng)度,
substr(ename,0,1),
substr(ename,1,1),
substr(ename,2,1) 
from emp 
where substr(ename,0,1) in('J','A','m')
order by ename asc;

--練習(xí)2

--1.查詢員工姓名中中包含大寫或小寫字母A的員工姓名。

select ename,
instr(ename,'a'),
instr(ename,'A')
from emp
where instr(ename,'a') <> 0 or instr(ename,'A') <> 0;

--2.查詢部門編號(hào)為10或20纷捞,入職日期在81年5月1日之后痢虹,并且姓名中包含大寫字母A的員工姓名,員工姓名長(zhǎng)度(提示兰绣,要求使用INSTR函數(shù)世分,不能使用like進(jìn)行判斷)

select ename,
length(ename),
hiredate,
deptno,
instr(ename,'A')
from emp
where deptno in(10,20) and
hiredate > '01-5月-81' and
instr(ename,'A') <> 0;

--3.查詢每個(gè)職工的編號(hào),姓名,工資
--要求將查詢到的數(shù)據(jù)按照一定的格式合并成一個(gè)字符串.
--前10位:編號(hào),不足部分用填充,左對(duì)齊
--中間10位:姓名缀辩,不足部分用
填充,左對(duì)齊
--后10位:工資臭埋,不足部分用*填充,右對(duì)齊

select deptno,
ename,
sal,
lpad(deptno,10,'*'),
lpad(ename,10,'*'),
rpad(sal,10,'*')  
from emp;

--練習(xí)3

--1.寫一個(gè)查詢,分別計(jì)算100.456 四舍五入到小數(shù)點(diǎn)后第2位臀玄,第1位瓢阴,整數(shù)位的值。

select round(100.456,2),
round(100.456,1),
round(100.456,0)
from dual;

--2.寫一個(gè)查詢健无,分別計(jì)算100.456 從小數(shù)點(diǎn)后第2位荣恐,第1位,整數(shù)位截?cái)嗟闹怠?/p>

select trunc(100.456,2),
trunc(100.456,1),
trunc(100.456,0)
from dual;

--練習(xí)4

--1.查詢每個(gè)員工截止到現(xiàn)在一共入職多少天累贤?

select ename,trunc(sysdate - hiredate) as 到現(xiàn)在入職的天數(shù) 
from emp;
口決:
RR: 大小進(jìn)一 小大退一 
YY: 與RR相反
大大小小均不變(備注大指當(dāng)前年份叠穆,小為指定年份)

--2.當(dāng)前日期為2015年,指定日期格式為DD-MON-RR,指定日期為01-1月-01臼膏,該日期實(shí)際所代表的日期為硼被?

2001-01-01  

--3.當(dāng)前日期為2015年,指定日期格式為DD-MON-RR,指定日期為01-1月-95渗磅,該日期實(shí)際所代表的日期為嚷硫?

1995-01-01

--4.當(dāng)前日期為1998年检访,指定日期格式為DD-MON-RR,指定日期為01-1月-01,該日期實(shí)際所代表的日期為仔掸?

2001-01-01

--5.當(dāng)前日期為1998年脆贵,指定日期格式為DD-MON-RR,指定日期為01-1月-95,該日期實(shí)際所代表的日期為起暮?

1995-01-01

--6.當(dāng)前日期為2015年卖氨,指定日期格式為DD-MON-YY,指定日期為01-1月-01,該日期實(shí)際所代表的日期為鞋怀?

2001-01-01

--7.當(dāng)前日期為1998年双泪,指定日期格式為DD-MON-YY,指定日期為01-1月-95,該日期實(shí)際所代表的日期為密似?

1995-01-01

--練習(xí)5

串一個(gè)知識(shí)點(diǎn)。葫盼。查詢所有用戶表

select * from user_tables;

--1.查詢服務(wù)器當(dāng)前時(shí)間

select sysdate 
from emp;

--2.查詢部門10,20的員工截止到2000年1月1日残腌,工作了多少個(gè)月,入職的月份贫导。(提示:使用months_between,extract)

select hiredate,
trunc(months_between('01-1月-00',hiredate)) 工作月數(shù),
extract(month from hiredate)
from emp
where deptno in(10,20);

--3.如果員工試用期6個(gè)月抛猫,查詢職位不是MANAGER的員工姓名,入職日期孩灯,轉(zhuǎn)正日期闺金,入職日期后的第一個(gè)星期一,入職當(dāng)月的最后一天日期。(提示:使用add_months,next_day,last_day)

select hiredate as 入職日期,
add_months(hiredate,6) as 轉(zhuǎn)正日期,
next_day(hiredate,'星期一') as 入職后的第一個(gè)星期一,
last_day(hiredate) as 入職當(dāng)月的最后一天日期
from emp
where job not in 'MANAGER';

--練習(xí)6

--1.顯示服務(wù)器系統(tǒng)當(dāng)前時(shí)間峰档,格式為2007-10-12 17:11:11(提示:使用to_char函數(shù))

select sysdate,
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 
from emp;

--2.顯示ename败匹、hiredate 和 雇員開始工作日是星期幾,列標(biāo)簽DAY(提示:使用to_char函數(shù))

select ename,hiredate,to_char(hiredate,'DAY') as DAY
from emp;

--3.查詢員工姓名讥巡,工資掀亩,格式化的工資(¥999,999.99) (提示:使用to_char函數(shù))

備注:此處只能轉(zhuǎn)換成$不能¥且此處的第二參數(shù)為固定'$99,999'少寫會(huì)報(bào)錯(cuò)
select ename,sal,to_char(sal,'$99,999')
from emp;

--4.把字符串2015-3月-18 13:13:13 轉(zhuǎn)換成日期格式,并計(jì)算和系統(tǒng)當(dāng)前時(shí)間間隔多少天欢顷。 (提示:使用to_date函數(shù))

select to_date('2015-3月-18 13:13:13','yyyy-mm"月"-dd hh24:mi:ss') as 日期,
trunc(sysdate-to_date('2015-3月-18 13:13:13','yyyy-mm"月"-dd hh24:mi:ss')) as 相差的天數(shù)
from emp;

--課后作業(yè)

--1.計(jì)算2000年1月1日到現(xiàn)在有多少月槽棍,多少周(四舍五入)。

select round(months_between(sysdate,'01-1月-00')),
round(months_between(sysdate,'01-1月-00')*30/7)
from emp;

--2.查詢員工ENAME的第三個(gè)字母是A的員工的信息(使用2個(gè)函數(shù))抬驴。

select ename,instr(ename,'A',3,1)
from emp
where instr(ename,'A',3,1) = 3;--從第三個(gè)位置開始第一次出現(xiàn)的位置
select ename,substr(ename,3,1)
from emp
where substr(ename,3,1) in 'A';--從第三個(gè)位置開始截取一個(gè)字符串

--3.使用trim函數(shù)將字符串‘hello’炼七、‘ Hello ’、‘bllb’布持、‘ hello ’分別處理得到下列字符串ello豌拙、Hello、ll鳖链、hello姆蘸。

select trim(leading 'h' from 'hello'),
trim(both ' ' from ' Hello '),
trim(both 'b' from 'bllb'),
trim(trailing ' ' from 'hello    ')
from dual;

--4.將員工工資按如下格式顯示:123,234.00 RMB 墩莫。

select sal,to_char(sal,'$99,999')
from emp;--這題我只能寫成這樣。逞敷。狂秦。若有人解出來(lái)。推捐。請(qǐng)務(wù)必告知呀

--5.查詢員工的姓名及其經(jīng)理編號(hào)裂问,要求對(duì)于沒有經(jīng)理的顯示“No Manager”字符串。

select ename,mgr,nvl(to_char(mgr),'No Manager')
from emp; -- 據(jù)說(shuō) nvl()里兩參數(shù)必須是同一類型牛柒。堪簿。否則。皮壁。錯(cuò)死你 o

--6.將員工的參加工作日期按如下格式顯示:月份/年份椭更。

select hiredate,
extract(month from hiredate) || '/' || extract(year from hiredate) as "月份/年份"
from emp;

select hiredate,to_char(hiredate,'mm/yyyy') as "月份/年份"
from emp;

--7.在員工表中查詢出員工的工資,并計(jì)算應(yīng)交稅款:如果工資小于1000,稅率為0蛾魄,如果工資大于等于1000并小于2000虑瀑,稅率為10%,如果工資大于等于2000并小于3000滴须,稅率為15%舌狗,如果工資大于等于3000,稅率為20%扔水。

select ename,sal,
case
when sal < 1000 then 0
    when sal >=1000 and sal < 2000 then (sal-1000)*0.1
    when sal >=2000 and sal <3000 then 1000 * 0.1 + (sal - 2000) * 0.15
        when sal > 3000 then 1000 * 0.1 + 1000 * 0.15 + (sal - 3000) * 0.2
        else 0
            end as 稅款
from emp;

--8.創(chuàng)建一個(gè)查詢顯示所有雇員的 ename和 sal痛侍。格式化sal為 15 個(gè)字符長(zhǎng)度,用 $ 左填充魔市,列標(biāo)簽 SALARY主届。

select ename,sal,lpad(sal,15,'$') as SALARY
from emp;

分割線


博主為咯學(xué)編程:父母不同意學(xué)編程,現(xiàn)已斷絕關(guān)系;戀人不同意學(xué)編程嘹狞,現(xiàn)已分手;親戚不同意學(xué)編程岂膳,現(xiàn)已斷絕來(lái)往;老板不同意學(xué)編程,現(xiàn)已失業(yè)三十年。磅网。谈截。。涧偷。簸喂。如果此博文有幫到你歡迎打賞,金額不限燎潮。喻鳄。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末确封,一起剝皮案震驚了整個(gè)濱河市除呵,隨后出現(xiàn)的幾起案子再菊,更是在濱河造成了極大的恐慌,老刑警劉巖颜曾,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纠拔,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡泛豪,警方通過(guò)查閱死者的電腦和手機(jī)稠诲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)诡曙,“玉大人臀叙,你說(shuō)我怎么就攤上這事〖勐保” “怎么了劝萤?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)慎璧。 經(jīng)常有香客問我稳其,道長(zhǎng),這世上最難降的妖魔是什么炸卑? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮煤傍,結(jié)果婚禮上盖文,老公的妹妹穿的比我還像新娘。我一直安慰自己蚯姆,他們只是感情好五续,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著龄恋,像睡著了一般就斤。 火紅的嫁衣襯著肌膚如雪矮燎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音庄岖,去河邊找鬼。 笑死柳洋,一個(gè)胖子當(dāng)著我的面吹牛叔汁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播乘碑,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼挖息,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了兽肤?” 一聲冷哼從身側(cè)響起套腹,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绪抛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后电禀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體幢码,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年鞭呕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蛤育。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡葫松,死狀恐怖瓦糕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腋么,我是刑警寧澤咕娄,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站珊擂,受9級(jí)特大地震影響圣勒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜摧扇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一圣贸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧扛稽,春花似錦吁峻、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至帮匾,卻和暖如春啄骇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘟斜。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工缸夹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哼转。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓明未,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親壹蔓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子趟妥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容