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