ORACLE常用傻瓜問題1000問(之六)

发表于:2007-07-02来源:作者:点击数: 标签:
ORACLE常用傻瓜問題1000問(之六) 作者: CC BZZP 大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步! 對ORACLE高手來說是不用看的. ORACLE內部函數篇

              ORACLE常用傻瓜問題1000問(之六)

作者:  CCBZZP

       大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!

     對ORACLE高手來說是不用看的.

 
  
       ORACLE內部函數篇
204. 如何得到字符串的第一個字符的ASCII值?
    ASCII(CHAR)
    SELECT ASCII(@#ABCDE@#) FROM DUAL;
    結果: 65

205. 如何得到數值N指定的字符?
    CHR(N)
    SELECT CHR(68) FROM DUAL;
    結果: D

206. 如何連接兩個字符串?
    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;

    待續...

原文转自:http://www.ltesting.net