共計 4931 個字符,預計需要花費 13 分鐘才能閱讀完成。
這篇“PLSQL 操作符有哪些”文章的知識點大部分人都不太理解,所以丸趣 TV 小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“PLSQL 操作符有哪些”文章吧。
一、字符函數
1. LOWER (strexp) – 返回字符串, 并將所有的字符小寫.
select lower(ABCDE) from dual
2. UPPER (strexp) 返回字符串, 并將所有的字符大寫.
select upper(abcdf) from dual
3. INITCAP(strexp) 將字符串的 (每個單詞的) 第一個字母變為大寫, 后面的小寫;
select initcap( source fore) from dual select initcap( SOURCE FORE) from dual -- Source Fore(如果都是大寫會自動將第一個字母變為大寫其他的小寫)
4. CONCAT(strexp, strexp): 連接兩個字符串
select concat(first_name,last_name) from employees
5. SUBSTR(str,start_index,length): 從指定的位置截取指定長度的字符串
select substr(abcdefg ,2,3) from dual
6. LENGTH(strexp): 返回字符串的長度
select length(abcdef) from dual
7. INSTR(C1,C2,I,J): 在一個字符串中搜索指定的字符, 返回發現指定的字符的位置;
C1: 搜索的字符
C2: 要搜索的字符
I: 表示從哪個位置開始查找
J: 查找第幾次出現
select instr(aborcdoryuklhorp , or ,1,2) from dual ---7 select instr(aborcdoryuklhorp , or ,6,2) from dual ---14
8. LPAD(string1, padded_length, [ pad_string] ) 在列的左邊粘貼字符
select lpad(acd ,8) from dual
9. RPAD(粘貼字符) RPAD? 在列的右邊粘貼字符
select rpad(acd ,8,) from dual select rpad(acdefghijklm ,8,) from dual
10. TRIM(str): 截取字符串兩端特殊字符
select abd from dual select trim( abd ) from dual
11. REPLACE(str,search_str[,replace_str]): 將每次在 str 中出現的 search_str 用 replace_str 替換
select replace(HELOVEYOU , HE , I) from dual
二、數學函數
1. ROUND:傳回一個數值,該數值是按照指定的小數位數進行四舍五入運算的結果。
select round(3000.926) from dual --3001 -- 小數部分是兩位 select round(3000.926,2) from dual --3000.93
2. TRUNC 函數返回處理后的數值,其工作機制與 ROUND 函數極為類似,
-- 只是該函數不對指定小數前或后的部分做相應舍入選擇處理,而統統截去。 select trunc(3000.926) from dual --3000 select trunc(3000.926,2) from dual --3000.92
3. MOD(number1,number2)兩個數值相除并返回其余數。運算符執行 number1 除以 number2 操作
select mod(1600,300) from dual --100
三、轉化函數
1. TO_CHAR(date, fmt):是字符類型的函數,轉化日期為字符格式(fmt)
必須用單引號括起來, 并且是大小寫敏感
可包含任何有效的日期格式
fmt 值的寬度正好能容納所有的有效數字
2. 修改當前的語言環境為中文
alter session set nls_language= SIMPLIFIED CHINESE
-- 輸入當前的系統日期, 格式為 yyyy-mm-dd select sysdate from dual select to_char(sysdate, yyyy-mm-dd) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd select to_char(sysdate, yyyy-mon-dd) from dual -- 輸入當前的系統日期, 格式為 yyyy-month-dd select to_char(sysdate, yyyy-month-dd) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd-day select to_char(sysdate, yyyy-mon-dd day) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd-dy select to_char(sysdate, yyyy-mon-dd-dy) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd-dy-d select to_char(sysdate, yyyy/mon/dd/dy/d) from dual --ddspth 日期的英文顯示 -- 輸入當前的系統日期, 格式為 yyyy-mon-ddspth select to_char(sysdate, yyyy-mon-ddspth) from dual --2010- 4 月 -seventeenth
3. 修改為英文環境(此語句只對當前的窗口有效, 當窗口關閉虛重新設置)
alter session set nls_language=AMERICAN; -- 輸入當前的系統日期, 格式為 yyyy-mm-dd select to_char(sysdate, yyyy-mm-dd) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd select to_char(sysdate, yyyy-mon-dd) from dual --2010-apr-17 -- 輸入當前的系統日期, 格式為 YYYY-MON-DD select to_char(sysdate, yyyy-MON-dd) from dual --2010-APR-17 -- 輸入當前的系統日期, 格式為 YYYY-MONTH-DD select to_char(sysdate, YYYY-MONTH-DD) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd-day select to_char(sysdate, yyyy-mon-dd-day) from dual select to_char(sysdate, yyyy-mon-dd-DAY) from dual --2010-apr-17-SATURDAY -- 輸入當前的系統日期, 格式為 yyyy-mon-dd-dy select to_char(sysdate, yyyy-mon-dd-dy) from dual --2010-apr-17-sat select to_char(sysdate, yyyy-mon-dd-DY) from dual --2010-apr-17-SAT
4. ddspth 不分中英文環境 日期的英文顯示
-- 輸入當前的系統日期, 格式為 yyyy-mon-ddspth select to_char(sysdate, yyyy-mon-ddspth) from dual --2010-apr-seventeenth -- 小時 分 秒 -- 輸入當前的系統日期, 格式為 yyyy-mon-dd HH24:MI:SS select to_char(sysdate, yyyy-mon-dd HH24:MI:SS) from dual -- 輸入當前的系統日期, 格式為 dd-mon-yyyy SS:HH24:MI(格式沒有順序) -- 注意: 使用 to_char 函數轉化日期 --- 字符 格式沒有順序 select to_char(sysdate, dd-mon-yyyy SS:HH24:MI) from dual -- 輸入當前的系統日期, 格式為 yyyy-mon-dd HH24:MI:SS AM(PM) -- 增加 AM PM -- 在這個格式中 AM PM 沒有區別 ,表達的含義是一致的 select to_char(sysdate, yyyy-mon-dd HH24:MI:SS AM) from dual select to_char(sysdate, yyyy-mon-dd HH24:MI:SS PM) from dual select to_char(sysdate, yyyy-mon-dd HH24:MI:SS PM) from dual -- 輸入當前的系統日期, 格式為 dd of month (19 of 1 月) -- 可以在格式中增加字符串, 字符串用 引起來 select to_char(sysdate, dd of month ) from dual
5. to_date(char,fmt) 轉化字符為日期
第一個參數: 符合日期格式的字符
第二個參數: 格式(同 to_char 函數轉化日期的格式) alter session set nls_language= SIMPLIFIED CHINESE
alter session set nls_language=AMERICAN; -- 轉化 2008-04 月 -18 這個字符為日期 select to_date(2008- 4 月 -18 , yyyy-mon-dd) from dual; select to_date(4 月 -18-2008 , mon-dd-yyyy) from dual;
6.TO_CHAR(number, fmt):是字符類型的函數,轉化數字為字符
四、日期函數
1. 計算 2008- 4 月 - 1 日和 2008- 8 月 -10 日相差多少個月 – 使用 months_between(date1,date2)函數
select months_between(to_date( 2008- 4 月 -01 , yyyy-mon-dd),to_date(2008- 8 月 -10 , yyyy-mon-dd)) from dual select months_between(to_date( 2008- 8 月 -10 , yyyy-mon-dd),to_date(2008- 4 月 -01 , yyyy-mon-dd)) from dual
2. 相差多少個月四舍五入到整數
select round(months_between(to_date( 2008- 8 月 -10 , yyyy-mon-dd),to_date(2008- 4 月 -01 , yyyy-mon-dd)))from dual -- 給出日期 2008- 4 月 -01 計算六個月后的日期 -- 使用 Add_months(date1,number) select add_months(to_date( 2008- 4 月 -01 , yyyy-mon-dd),6) from dual
3. 給出日期 date 和星期 x 之后計算下一個星期的日期 – 使用 NEXT_DAY(date, day)
select next_day(to_date( 2010- 4 月 -01 , yyyy-mon-dd), 星期三 ) from dual
4. 計算指定日期所在月份的最后一天的日期 – 使用 last_day(date)
select last_day(to_date( 2010- 3 月 -01 , yyyy-mon-dd)) from dual
以上就是關于“PLSQL 操作符有哪些”這篇文章的內容,相信大家都有了一定的了解,希望丸趣 TV 小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注丸趣 TV 行業資訊頻道。