#1. 系統日期 、時間函數
^1.SELECT TO_CHAR ( SYSDATE ,'YYYY-MM-DD HH24:MI:SS') FROM DUAL -- 查詢系統當前日期
^2.SELECT SYSTIMESTAMP FROM DUAL --查詢帶時區的系統日期???????
^3.SELECT DBTIMEZONE FROM DUAL --查詢當前時區
SELECT SESSIONTIMEZONE FROM DUAL--查詢當前會話的時區
^4.SELECT TO_CHAR( ADD_MONTHS (TO_DATE('2014-11-11' ,'YYYY-MM-DD'),-1),'YYYY-MM-DD') FROM DUAL --返回指定日期前一個月的日期
ADD_MONTHS(DATE , INTEGER ) -- DATE :指定的日期 ? INTEGER:要加的月份數 如果為負數 則表示減去的月份數
^5.SELECT LAST_DAY (SYSDATE) FROM DUAL --返回參數指定日期對應月份的最后一天
^6.SELECT SYSDATE , NEXT_DAY (SYSDATE ,'星期一') FROM DUAL --返回當前日期向后一周 指定星期對應的日期
^7.SELECT
EXTRACT
(YEAR FROM SYSDATE) YEAR,
EXTRACT(MONTH FROM SYSDATE) MONTH,
EXTRACT (DAY FROM SYSDATE) DAY
FROM DUAL --從指定的時間當中提取到指定的日期部分
^8. SELECT MONTHS_BETWEEN (TO_DATE('2010-01-01' ,'YYYY-MM-DD'),SYSDATE) FROM DUAL
--返回指定日期之間的月份數
#2. null 函數
^1.SELECT COALESCE (NULL,9-9,NULL) FROM DUAL --返回列表中第一個不為null的表達式結果
^2.SELECT * FROM XXX WHERE LNNVL(condition) --該函數可以得到除了condition要求條件之外的數據 包括null
^3. NVL(EXPR1,EXPR2) ? --替換null值 表示如果expr1 為null值 則返回expr2的值
#3.數值型函數
^1. ABS(N) 返回n的絕對值
^2. MOD(N1,N2) --返回N1除以N2的余數
^3. SIGN(N) --返回參數n 的符號
^4. CEIL(n) -- 返回結果是大于等于輸入參數的最小整數
^5. FLOOR(N) --返回結果是小于等于輸入參數的最大整數
^6. SQRT(N) --返回n的平方根
^7. POWER(N1,N2) -- 得到n1的n2次冪
^8. LOG(N1,N2) -- 返回以n1為底 n2 的對數
?#4.字符串函數
CHR(n[using nchar_cs]) --根據相應的字符集 把給定的ASCII碼轉換成字符
ASCII(CHAR) --返回參數首字母的ASCII碼值
LENGTH(CHAR) --得到指定字符串長度
SUBSTR(CHAR,POSITION[,SUBSTRING_LENGTH]) -- 截取字符串 [char:原始字符串 position:開始位置 substring_length:截取長度]
(length,substr ,instr變形函數)
SUBSTR:以字符為單位
SUBSTRB:以字節為單位
SUBSTRC:以Unicode字符為單位
SUBSTR2:以UCS2代碼點為單位
SUBSTR4:以UCS4代碼點為單位
CONCAT(CHAR1,CHAR2) --字符串連接函數 將char2連接到char1的末尾
INSTR(STRING,SUBSTRING[,POSITION[,OCCURRENCE]]) --字符串搜索函數
?? ----[string:待搜索的字符串 substring:要搜索的字符串 position:搜索開始位置 occurrence:substring第幾次出現]
UPPER(CHAR) --將指定的參數全部轉換成大寫字母
LOWER(CHAR) --將指定的參數全部轉換成小寫字母
INITCAP(CHAR) --將指定參數的所有單詞的首字母轉換成大寫字母
//帶排序參數的大小寫轉換函數
NLS_INITCAP(CHAR[,NLSPARAM]) --將指定參數的所有單詞的第一個字母轉換成大寫
SELECT NLS_INITCAP('this is a test','NLS_SORT=SCHINESE_STROKE_M')----
NLS_SORT=SCHINESE_STROKE_M--- 按筆畫排序
NLS_SORT=SCHINESE_PINYIN_M----按拼音排序
NLS_UPPER(CHAR[,NLSPARAM])
NLS_LOWER(CHAR[,NLSPARAM])
NLSSORT(CHAR[,NLSPARAM]) --根據指定的方式對char進行排序
SELECT * FROM TEMP ORDER BY NLSSORT(ZIDUANMING,'NLS_SORT = SCHINESE_PINYIN_M')---
查詢數據根據ZIDUANMING 按拼音排序
REPLACE(CHAR,SEARCH_STRING[,REPLACEMENT_STRING]) --用于替換字符串
CHAR : 表示要搜索的目標字符串
SEARCH_STRING:表示在目標字符串中搜索的字符串
REPLACEMENT_STRING:替代被搜索到的字符串? 如果沒有這個參數,則從CHAR中刪除SEARCH_STRING
RPAD(CHAR1,N,CHAR2) --字符串填充函數 在char1的右面用char2填充直到長度為n為止 char2為空時用空格代替
LPAD(CHAR1,N,CHAR2) --字符串填充函數 在char1的左面用char2填充直到長度為n為止char2為空時用空格代替
TRIM([LEADING|TRAILING|BOTH][TRIM_CHARACTOR FROM] TRIM_SOURCE) ? --刪除字符串首尾指定字符 默認刪除空格
LEADING : 刪除前綴字符
TRAILING:刪除后綴字符
BOTH:刪除前綴和后綴
TRIM_CHATACTOR:刪除的指定字符
TRIM_SOURCE:被操作的字符串
RTRIM(CHAR[,SET]) --將char右面出現在set中的字符刪除? 若沒有 默認刪空格
LTRIM(CHAT[,SET]) --將char左面出現在set中的字符刪除? 若沒有 默認刪空格
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
