常常要用到一些函數還是做什麼計算的時候
有時知道是哪一個可是會忘記對不對或是如何使用
放一份自己找的到的很快就可以查到也不錯.....
--1.ASCII=>返回與指定的字符對應的十進制數
select ascii('A') A, ascii('a') a, ascii('0') zero, ascii(' ') space, ascii('趙') Word from dual
--結果:
--A A ZERO SPACE WORD
--65 97 48 32 48047
--2.CHR=>給出整數,返回對應的字符;
select chr(48047) zhao, chr(65) chr65 from dual
--結果:
-- ZHAO CHR65
-- 趙 A
--3.CONCAT=>連接兩個字串;
select concat('0000-','111111')||'轉33663' As PhoneNo from dual
--結果:
-- PHONENO
-- 0000-111111轉33663
--4.INITCAP=>返回字串並將字串的第一個字母變為大寫;
select initcap('simle to me') FirstWordToupper from dual
--結果
-- FIRSTWORDTOUPPER
-- Simle To Me
--5.INSTR(S1,S2,B,E)
--在一個字串中尋找指定的字串,回傳指定的字串位置;
--S1 被搜尋字串 S2 要搜尋字串 B 開始位置,預設為1 E 結束位置,預設為1
select instr('oracle traning','ra',1,2) instring from dual
--結果
-- INSTRING
-- 9
--6.LENGTH=>回傳字串長度
select '我是誰' As CName, length('我是誰') AS CLength,
'WHO AND I' As EName, length('WHO AND I') As ELength,
'99999.99' As iNum,length(to_char(99999.99)) As iLength
from dual
--結果
-- CNAME |CLENGTH |ENAME |ELENGTH |INUM |ILENGTH
-- 我是誰 |3 |WHO AND I |9 |99999.99 |8
--7.LOWER=>將所有字串轉為小寫
select lower('AaBbCcDd') As strResult from dual
--結果
-- STRRESULT
-- aabbccdd
--8.UPPER=>將所有字串轉為大寫
select upper('AaBbCcDd') As strResult from dual
--結果
-- STRRESULT
-- AABBCCDD
--9.RPAD和LPAD
--RPAD 在右邊補足設定長度或是截掉多於設定長度字串
--LPAD 在左邊補足設定長度或是截掉多於設定長度字串
select rpad('web',1,'~') as strResult from dual
select rpad('web',5,'~') as strResult from dual
select lpad('web',1,'~') as strResult from dual
select lpad('web',5,'~') as strResult from dual
select lpad(rpad('test',11,'~'),18,'~')from dual
--結果
--strResult
--w
--web~~
--w
--~~web
--10.LTRIM和RTRIM
--LTRIM 由左至右清除與設定相同的內容Oracle是一個一個比對有出現就清除至找不到為止之後出現也不會清除
--RTRIM 由右至左清除與設定相同的內容Oracle是一個一個比對有出現就清除至找不到為止之後出現也不會清除
select ltrim('902100111000991110224323','1') from dual
--結果
--902100111000991110224323
select ltrim('90100111000991110224323','109') from dual
--結果
--224323