文章详情页
ORACLE常用傻瓜問題1000問(之六)
; Oracle常用傻瓜問題1000問(之六)作者:; CCBZZP ;;;;大家在應用ORACLE的時候可能會碰到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步! 對ORACLE高手來說是不用看的. ORACLE內部函數篇204. 如何得到字符串的第一個字符的ASCII值? ASCII(CHAR) SELECT ASCII('ABCDE') FROM DUAL; 結果: 65205. 如何得到數值N指定的字符? CHR(N) SELECT CHR(68) FROM DUAL; 結果: D206. 如何連接兩個字符串? CONCAT(CHAR1,CHAR2) SELECT CONCAT('ABC','DEFGH') FROM DUAL; 結果: 'ABCDEFGH'207. 如何將列中的數值代替為字符串? DECODE(CHAR,N1,CHAR1,N2,CHAR2...) SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL;208. INITCAP(CHAR) 將字符串CHAR的第一個字符為大寫,其余為小寫. SELECT INITCAP('ABCDE') FROM DUAL;209. LENGTH(CHAR) 取一字符串CHAR的長度. SELECT LENGTH('ABCDE') FROM DUAL;210. LOWER(CHAR) 將字符串CHAR全部變為小寫. SELECT LOWER('ABCDE') FROM DUAL;211. LPAD(CHAR1,N,CHAR2) 用字符串CHAR2包括的字符左填CHAR1,使其長度為N. SELECT LPAD('ABCDEFG',10'123') FROM DUAL; 結果: '123ABCDEFG' 212. LTRIM(CHAR,SET) 從字符串CHAR的左邊移去字符串SET中的字符,直到第一個不是SET中的字符為止. SELECT ('CDEFG','CD') FROM DUAL; 結果: 'EFG'213. NLS_INITCAP(CHAR) 取字符CHAR的第一個字符大寫,其余字符為小寫. SELECT NLS_INITCAP('ABCDE') FROM DUAL;214. NLS_LOWER(CHAR) 將字符串CHAR包括的字符全部小寫. SELECT NLS_LOWER('AAAA') FROM DUAL;215. NLS_UPPER(CHAR) 將字符串CHAR包括的字符全部大寫. SELECT NLS_UPPER('AAAA') FROM DUAL;216. REPLACE(CHAR1,CHAR2,CHAR3) 用字符串CHAR3代替每一個列值為CHAR2的列,其結果放在CHAR1中. SELECT REPLACE(EMP_NO,'123','456') FROM DUAL;217. RPAD(CHAR1,N,CHAR2) 用字符串CHAR2右填字符串CHAR1,使其長度為N. SELECT RPAD('234',8,'0') FROM DUAL;218. RTRIM(CHAR,SET) 移去字符串CHAR右邊的字符串SET中的字符,直到最后一個不是SET中的字符為止. SELECT RTRIM('ABCDE','DE') FROM DUAL;219. SUBSTR(CHAR,M,N) 得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為一個字符的. SELECT SUBSTR('ABCDE',2,3) FROM DUAL;220. SUBSTRB(CHAR,M,N) 得到字符串CHAR從M處開始的N個字符. 雙字節字符,一個漢字為二個字符的. SELECT SUBSTRB('ABCDE',2,3) FROM DUAL;221. TRANSLATE(CHAR1,CHAR2,CHAR3) 將CHAR1中的CHAR2的部分用CHAR3代替. SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM; DUAL;222. UPPER(CHAR) 將字符串CHAR全部為大寫.223. ADD_MONTHS(D,N) 將N個月增加到D日期. SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL;224. LAST_DAY(D) 得到包含D日期的月份的最后的一天的日期. SELECT LAST_DAY(SYSDATE) FROM DUAL;225. MONTH_BETWEEN(D1,D2) 得到兩個日期之間的月數. SELECT MONTH_BETWEEN(D1,D2) FROM DUAL;226. NEXT_DAY(D,CHAR) 得到比日期D晚的由CHAR命名的第一個周日的日期. SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL;227. ROUNT(D,FMT) 得到按指定的模式FMT舍入到的最進的日期. SELECT ROUNT('2003/09/20',MONTH) FROM DUAL;228. SYSDATE 得到當前系統的日期和時間. SELECT SYSDATE FROM DUAL;229. TO_CHAR(D,FMT) 將日期D轉換為FMT的字符串. SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL;230. TO_DATE(CHAR,FMT) 將字符串CHAR按FMT的格式轉換為日期. SELECT TO_DATE('2003/09/20','YYYY/MM/DD') FROM DUAL;231. ABS(N) 得到N的絕對值. SELECT ABS(-6) FROM DUAL;232. CEIL(N) 得到大于或等于N的最大整數. SELECT CEIL(5.6) FROM DUAL;233. COS(N) 得到N的余弦值. SELECT COS(1) FROM DUAL;234. SIN(N) 得到N的正弦值. SELECT SIN(1) FROM DUAL;235. COSH(N) 得到N的雙曲余弦值. SELECT COSH(1) FROM DUAL;236. EXP(N) 得到N的E的N次冪. SELECT EXP(1) FROM DUAL;237. FLOOR(N) 得到小于或等于N的最小整數. SELECT FLOOR(5.6) FROM DUAL;238. LN(N) 得到N的自然對數. SELECT LN(1) FROM DUAL;239. LOG(M,N) 得到以M為底N的對數. SELECT LOG(2,8) FROM DUAL;240. MOD(M,N) 得到M除以N的余數. SELECT MOD(100,7) FROM DUAL;241. POWER(M,N) 得到M的N冪. SELECT POWER(4,3) FROM DUAL;242. ROUND(N,M) 將N舍入到小數點后M位. SELECT (78.87653,2) FROM DUAL;243. SIGN(N) 當N<0時,得到-1; 當N>0時,得到1; 當N=0時,得到0; SELECT SIGN(99) FROM DUAL;244. SINH(N) 得到N的雙曲正弦值. SELECT SINH(1) FROM DUAL;245. SORT(N) 得到N的平方根,N>=0 SELECT SORT(9) FROM DUAL;246. TAN(N) 得到N的正切值. SELECT TAN(0) FROM DUAL;247. TANH(N) 得到N的雙曲正切值. SELECT TANH(0) FROM DUAL;248. TRUNC(N,M) 得到在M位截斷的N的值. SELECT TRUNC(7.7788,2) FROM DUAL;249. COUNT() 計算滿足條件的記錄數. SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA';250. MAX() 對指定的列求最大值. SELECT MAX(COL1) FROM TABLE1;251. MIN() 對指定的列求最小值. SELECT MIN(COL1) FROM TABLE1;252. AVG() 對指定的列求平均值. SELECT AVG(COL1) FROM TABLE1;253. SUM() 計算列的和. SELECT SUM(COL1) FROM DUAL;254. TO_NUMBER(CHAR) 將字符轉換為數值. SELECT TO_NUMBER('999') FROM DUAL; 待續...
排行榜