-
在查詢中使用函數查看全部
-
在查詢中使用字符串:: desc users; //users是已經建好的員工信息表 select substr(cardid,7,8) from users; 在員工信息表查詢出員工的生日 select replace(deptno,'01','信息技術') from users; 將部門號01全部替換成信息技術 select mod(age,10) from users; 將員工信息表中的年齡字段與10取余數 select extract(year from regdate) from users; 取得員工入職的年份 select * from extract(month from regdate)=5;查詢出5月份入職的員工信息查看全部
-
字符轉換成數字的函數 to_number(char[,fmt]) fmt是轉換的格式,可以忽略 eg:select to_number('$1,000','$9999')from dual; 結果:1000 數字類型轉換成字符格式 to_char(number[,fmt]) 9:顯示數字并忽略前面的0 0:顯示數字,位數不足,用0補齊 .或D:顯示小數點 ,或G:顯示千分位 $:美元符號 S:加正負號(前后都可以) eg:select to_char(123456.789,'$999,999.99')from dual; 結果:$123,456:79 select to_char(123456.789,'S999,999.99')from dual; 結果:+123,456:79查看全部
-
轉換函數<br> 1、日期轉字符<br> to_char(date[,fmt[,params]]):date表示要轉換的日期,fmt表示轉換的格式,params表示日期的語言(一般不寫)<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],時[HH12/HH24],分[MI],秒[SS]<br> 2、字符轉日期<br> to_date(str[,fmt[,params]]):str表示日期格式的字符串,fmt表示轉換的格式,params表示日期的語言(一般不寫),該函數會按照系統默認的格式顯示<br> fmt的取值:年[YY/YYYY/YEAR],月[MM/MONTH],日[DD/DAY],時[HH12/HH24],分[MI],秒[SS]<br> 3、數字轉字符<br> to_char(number[,fmt]):number表示要轉換的數字,fmt表示轉換的格式<br> fmt的取值:[9]表示顯示數字并忽略前面的0,[0]表示顯示數字,位數不足,用0補齊,[.或D]表示顯示小數點,[,或G]表示顯示千位符,[$]表示美元符,[S]表示加正負號(前后都可以)<br> 4、字符轉數字<br> to_number(str[,fmt]):str表示數字格式的字符串,fmt表示轉換的格式,可以省略 select to_number('$912,345,64.877','$999,999,99.999') from dual 結果:91234564.877查看全部
-
日期轉換成字符的函數:查看全部
-
轉換函數查看全部
-
日期函數: (1)系統時間 sysdate 默認格式DD-MON-RR 日-月-年 (2)日期操作 add_months(date,i)在當前日期加上i個月,i可以是任何整數;如果i是小數,系統會自動截取整數部分;如果是負數就是在當前日期減去i個月。 next_day(date,char)表示指定日期的下周幾的日期,例: select next_day(sysdate,'星期一') from dual; 表示的是當前日期的下周一是幾年幾月幾號。這個char表示星期幾,可以輸入中文也可以輸入英文。 last_day(date)返回date所在月的最后一天 months_between(date1,date2)表示兩個日期之間相隔的月份,返回值是小數 extract(date from datetime)表示獲取指定日期的年或月或日,例: select extract(year from sysdate) from dual;表示返回當前日期的年 select extract(month from sysdate) from dual; select extract(day from sysdate) from dual; 此外還可以這樣使用: select extract(hour from timestamp '2015-10-1 17:25:13') from dual;意思是獲取時間戳的時。 結果為17查看全部
-
(3)獲取字符串長度函數 length(char) 注意空格也算入長度,例:select length('acd ') from dual;結果為4 (4)字符串連接函數 concat(char1,char2) 與操作符的作用一樣 例:select concat('ab','cd') from dual; 或者 select 'ab''cd' from dual; 兩條語句結果一樣 abcd (5)去除子串函數 trim(c2 from c1) 表示從c1字符串中去除c2這個字符,注意截取集只能有一個字符 例:select trim('a' from 'abc') from dual; 結果為bc 如果寫成select trim('ab' from 'abc') from dual;就會提示出錯 ltrim(c1[,c2]) 表示從c1首字符開始去除一個c2,不管c1當中有多少個c2,都只能從頭開始去除一個! 例:select ltrim('ababaa','a') from dual; 結果為babaa rtrim(c1[,c2]) 表示從c1末尾開始去除一個c2,l表示左邊、r表示右邊。 例:select rtirm('ababaa','a') from dual;結果為abab 會發現截取了兩個a,說明這里的截取集只能有一個字符的含義是只能有一種單個字符,既不能出現‘ab’這樣的類型,但是截取結果不一定就截取了一個字符,比如截取集是‘a’,如果有相鄰的字符會一起被截取,在源字符串中‘ababaa’從末端截去時兩個a相鄰所以都被截取了。 trim(c1) 表示去除首尾的空格 ltrim(c1)表示去除左端的空格 rtrim(c1)表示去除右端的空格 (6)替換函數 replace(char,s_string[,r_string]) 省略r_string用空格替換 s_string表示要替換的字符串,r_string表示替換成什么樣的字符串。 注意若干個字符同樣可以被一個字符替換,例: select replace('abcde','ab','A') from dual; 結果為Acde r如果r_string不寫空格將會替代 select replace('abcd',a) from dual; 結果為: bcd(b前有個空格)查看全部
-
字符串的長度 length(char) 連接兩個字符串 concat(char1,char2 ) 等同于 獲取字符串長度的函數 LENGTH(char) 字符串連接函數CONCAT(char1,char2) 和 || 的效果相同 去除子串的函數 TRIM(c2 FROM c1) 代表把c2從c1中除去 LTRIM(c1[c2])從頭部去除c2,只能去除一位 RTRIM(c1[c2])從尾部去除c2,只能去除一位 TRIM(C1)代表去除首位的空格 ----------------------------------------------------- 替換函數 REPLACE(char,s_string[,r_string])把char中的s_string替換為r_string,如果r_string省略代表用空格替換查看全部
-
字符串截取函數: eg: select substr('abcdefg',5,10),substr('abcdefg',3),substr('abcdefg',-2) from dual; SUB SUBST SU --- ----- -- efg cdefg fg 獲取子字符串函數 substr(char,m,n) --char:字符串;m:第幾位(負數只從尾部數);n:截取長度(不設置截取到尾部) 特殊:substr('123456789',-3,2)結果:78 獲取子字符串函數 substr(char,[m[,n]]) m表示取子串的開始位置 n表示截取子串的位數 例:select substr('abcde',2,3) ,substr('abcde',2),substr('abcde',-2,1) from dual; 結果為: bcd bcde d 注意:m=0表示從首字母開始截取,n可以省略表示從m的位置截取到字符串末尾; 如果m=0且省略n那么結果仍為源字符串; 如果m為負數表示從字符串的尾部開始截取查看全部
-
大小寫轉換函數--可以用于注冊賬戶時不區分大小寫的實現<br> UPPER(char)把字符串從小寫轉換為大寫<br> LOWER(char)把字符串從大寫轉換為小寫<br> INITCAP(char)把字符串的首字母轉換為大寫 截取子字符串的函數SUBSTR(char,[m[,n]]) char代表原字符串,m代表開始位置,n代表截取的位數。當n省略時代表截取到末尾,m為負數時代表從字符串尾部第幾位開始截取 字符函數: (1)大小寫轉換函數 upper(char) 將小寫字母變成大寫字母 lower(char)將大寫字母變成小寫字母 initcap(char)將首字母進行大寫轉換 例:select upper('abcd'),lower('ABCd'),initcap('aHDX') from dual; 結果為:ABCD abcd AHDX (2)獲取子字符串函數(是從左向右截取的) substr(char,m,n) m表示取子串的開始位置 n表示截取子串的位數 例:select substr('abcde',2,3) ,substr('abcde',2),substr('abcde',-2,1) from dual; 結果為: bcd bcde d 注意:m=0表示從首字母開始截取,n可以省略表示從m的位置截取到字符串末尾; 如果m=0且省略n那么結果仍為源字符串; 如果m為負數表示從字符串的尾部開始截取查看全部
-
字符函數查看全部
-
四舍五入函數: round(n,[m]) m>0:小數點后m位;m<0:小數點前m位 eg:select round(23.4),round(23.45,1),round(23.45,-1) from dual; 23 23.5 20 取整函數: ceil(n)--取上限 floor(n)--取下限 eg:select ceil(23.45),floor(23.45) from dual; 24 23 絕對值: abs(n)--取絕對值 eg:select abs(23.45),abs(-23),abs(0) from dual; 23.45 23 0 取余數: mod(m,n) m/n 若m,n任何一個值為null,則結果返回null值 eg:select mod(5,2) from dual; 1 select mod(5,null) from dual; (空值) m的n次冪: power(m,n) eg:select power(2,3),power(null,2) from dual; 8 (空值) 平方根: sqrt(m) 16的平方根表示為sqrt(16),結果是4 eg:select sqrt(16)from dual; 4 三角函數: sin(n)、asin(n)--正弦、反正弦 cos(n)、acos(n)--余弦、反余弦 tan(n)、atan(n)--正切、反正切 n 為弧度 eg:select sin(3.124) from dual; .017591746查看全部
-
數字字符的四舍五入: round(n,[m]) 省略m:0 m>0 :小數點后m位,m<0:小數點前M位 取證函數: cell 向上取整(最大值) floor 向下取證(最小值) dual是oracle提供的一個虛表 abs(s) 絕對值、 mod(m,n) 取余數 m是被除數,n除數 如果m和n中其中一個為Null時,返回的值則為null; powwer(m,n) 返回的是m的n次冪 sqrt(n) 取n得平方根 四舍五入ROUND(n[,m])函數<br> 省略m代表m默認為0<br> m>0:小數點后m位<br> m<0:小數點前m位 -------------------------------------------- ceil函數:ceil(n)取大于n的最小整數<br> floor函數:floor(n)取小于n的最大整數 -------------------------------------------- 絕對值函數 ABS(n) 取余函數 MOD(m,n)表示m/n的余數,如果兩個數任意一個為null則結果也為null 冪函數power(m,n)代表m的n次冪 平方根函數sqrt(n)代表n的平方根查看全部
-
概述 1、函數的作用 方便數據的統計、處理查詢結果 2、函數分類 1)內置函數:數值函數、字符函數、日期函數、轉換函數 2)自定義函數 3、在查詢中使用函數 字母大小寫轉換、查詢時間間隔、四舍五入查看全部
舉報
0/150
提交
取消