-
獲取系統時間函數:sysdate,默認格式DD-MON-RR(日-月-年),下例:
SQL> select sysdate from dual;
SYSDATE
--------------
26-3月 -19
日期操作:add_months(date.i),函數作用是返回在指定日期上添加的月份【i可以是任何數,若是小數則截取整數,若是負數,則相當于在原來的日期上剪去相應月份】
SQL> select add_months(sysdate,3),add_months(sysdate,-3),add_months(sysdate,0.5) from dual;
ADD_MONTHS(SYS ADD_MONTHS(SYS ADD_MONTHS(SYS
-------------- -------------- --------------
26-6月 -19? ? ?26-12月-18? ? ?26-3月 -19
SQL> select add_months(sysdate,3),add_months(sysdate,-3),add_months(sysdate,1.5) from dual;
ADD_MONTHS(SYS ADD_MONTHS(SYS ADD_MONTHS(SYS
-------------- -------------- --------------
26-6月 -19? ? ?26-12月-18? ? ?26-4月 -19
函數next_day(date,char):如果char的值是“星期一”,則返回date指定日期的下一個星期一是哪天。
函數last_day(date):返回月最后一天是幾號。
函數month_between(date1,date2):返回兩個日期之間相隔的月份。下例:
SQL> select months_between('26-3月-19','10-1月-19')from dual;
MONTHS_BETWEEN('26-3月-19','10-1月-19')
---------------------------------------
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2.51612903
函數extract(date from datetime):獲取當前時間的年或月或日,下例:
SQL> select extract(year from sysdate)from dual;
EXTRACT(YEARFROMSYSDATE)
------------------------
? ? ? ? ? ? ? ? ? ? 2019
sysdate可以表示時間類型,再看一個例子:
SQL> select extract(hour from timestamp '2019-3-26 13:35:26') from dual;
EXTRACT(HOURFROMTIMESTAMP'2019-3-2613:35:26')
---------------------------------------------
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?13
查看全部 -
獲取字符串長度函數:length(char)
字符串連接函數:concat(char1,cahr2)=||
去除子串函數:
trim(c2 from c1),c2為一個字符串,從c1中的首尾開始去除,中間的不管。
SQL> select trim('a' from 'aabaacaaadaaaa')from dual;
TRIM('A'
--------
baacaaad
ltrim(c1[,c2]),從頭開始,c1。
SQL> select ltrim('baaababaa','a') from dual;
LTRIM('BA
---------
baaababaa
rtrim(c1[,c2]),從字符串尾部開始去除
SQL> select rtrim('ababaa','a')from dual;
RTRI
----
abab
SQL> select rtrim('ababaac','a')from dual;
RTRIM('
-------
ababaac
trim(c1)代表去除首尾空格,其他的去除函數以此類推。
替代函數:replace(char,s_string[,r_string]),若省略r_string則直接去掉。
SQL> select replace('abced','ab','A') from dual;
REPL
----
Aced
SQL> select replace('abcebbd','b','A') from dual;
REPLACE
-------
aAceAAd
SQL> select replace('abcebbd','b','AA') from dual;
REPLACE('A
----------
aAAceAAAAd
查看全部 -
數值函數:
四舍五入函數:
ROUND(n[m]) 【n表示要進行四舍五入的值,m表示保留小數點后幾位或前幾位】
省略m:0(即取整)
m>0:小數點后面m位
m<0:小數點前面m位
取整:
CEIL(n):取整時取最大值(上限)
FLOOR(n):取整時取最小值(下限)
常用計算:
ABS(n):取絕對值
MOD(m,n):取余【m代表除數,n代表被除數,m、n中任意一個為null值,結果返回null】
POWER(m,n):返回m的n次冪
sqrt(n):開平方
三角函數:
正弦 SIN(n)、反正弦 ASIN(n)
COS(n)、ACOS(n)
TAN(n)、ATAN(n)
例:SQL> select ceil(23.45),floor(23.45) from dual;
查看全部 -
函數的作用:
方便數據的統計
處理查詢結果
函數的分類:
數值函數
字符函數
日期函數
轉換函數
在查詢中使用函數:
將小寫字母轉換為大寫
查詢時間間隔
四舍五入
查看全部 -
課程總結
數值函數:四舍五入,絕對值,三角函數...
字符函數:大小寫轉換函數,去除空格函數,截取字符函數,字符長度函數,替換函數
日期函數:sysdate,new_day,last_day,month_between,extract
轉換函數:to_char,to_date,to_number
在查詢語句中使用函數:函數可以放在select后面,也可以放在where條件的后面作為條件
查看全部 -
轉化函數
日期轉換成字符的函數
????TO_CHAR(date[,fmt[,params]])
????參數說明:
????date:將要轉換的日期
????fmt:轉換的格式
????params:日期的語言(默認系統語言,此參數可省略)
select to_char(sysdate,'YYYY-MM-DD ?HH24:MI:SS') ?from ?dual;
----結果:2019-03-06 ?13:17:48
字符轉換成日期的函數
TO_DATE(char[,fmt[,params]]) ??
注意:TO_DATE()按照系統默認格式顯示日期
數字轉換成字符的函數
TO_CHAR(number[,fmt])
9:顯示數字并忽略前面的0
0:顯示數字,位數不足,用零補齊
.或D:顯示小數點
,或者G:顯示千位符
$:美元符號
S:加正負號(前后都可以)
字符轉換成數字的函數
TO_NUMBER(char[,fmt])
fmt是轉換的格式,可以省略
select ?to_number('$1,000','$9999') ?from dual;
----結果為 1000
查看全部 -
日期函數
系統時間:SYSDATE ?默認格式:DD-MON-RR
日期操作:
ADD_MONTH(date,i)
?i>0表示原有月份+i,i為小數,系統自動截取整數在計算,i<0表示原有月份-i
NEXT_DAY(date,char)函數的作用是:
如果char的值是‘星期一’,則返回date指定日期的下周一是哪一天
LAST_DAY(date):日期所在月的最后一天
MONTHS_BETWEEN(date1,date2):計算兩個時間的月份差
????select months_between('20-5月-15',‘10-1月-15’) from dual;
EXTRACT(date FROM datetime): ?作用:可用于提取日期時間的某一部分
select extract(year from sysdate) ?from dual; ?---返回當前系統時間的年份
select ?extract(hour ?from timestamp ?'2015-10-1 ?17:25:13') from ?dual; ?---返回當前系統時間的小時 ? 所以結果為17
查看全部 -
獲取字符串長度函數
LENGTH(char) 空格也算一個長度
字符串連接函數
CONCAT(char1,char2) ?---與連接符 || 一樣
去除子串函數
TRIM(c2 ?FROM ?c1) ? ?該函數表示從字符串c1中去除?字符?c2【注意:c2只能是單個字符】
LTRIM(c1[,c2]) ?表示從c1字符串中去除首個單個為c2的字符
RTRIM(c1[,c2]) ?表示從c1字符串中去除從尾部走起首個單個為c2的字符
TRIM(c1) ?只有一個參數的表示,去除首尾空格,LTRIM去除左邊空格,RTRIM去除右邊空格
替換函數
REPLACE(char,s_string[,r_string])
char:源字符串;s_string:要替換的字符;r_string替換成功后的字符
省略r_string用空格替換
查看全部 -
字符函數
大小寫轉換函數
UPPER(char),LOWER(char)
字符串的截取
SUBSTR(char,[m[,n]])
char:源字符 ? m:從哪個位置開始截取,m為0表示從字符串首位開始截取,m<0表示從字符串尾部開始截取,n表示截取幾位
查看全部 -
函數
oracle中使用函數需要涉及到一張特殊的表,dual系統自帶的表,從這里邊才能調出這些函數使用
一、函數的作用
????1.統計數據值:如excel求和
????2.處理查詢結果:查到員工身份證,可以通過函數取出員工出身年月日
二、函數的分類
????1.數值函數:
四舍五入:ROUND(n[,m]) ??
????????????????n表示要進行四舍五入的值
????????????? ? m表示保留小數點后幾位或前幾位
????????????????省略m:0 ?m>0:小數點后m位 ? m<0:小數點前m位
取整函數
CEIL(n)
FLOOR(n)
常用計算
ABS(n) ?---絕對值函數 ? select abs(23.45),abs(-23),abs(0) from dual;
MOD(m,n) ?---取余數,m/n的余數
POWER(m,n) ?---表示返回m的n次冪
SQRT(n) ?---求平方根
三角函數
SIN(n),ASIN(n) ?正弦,反弦
COS(n),ACOS(n) ?正余弦,反余弦
TAN(n),ATAN(n) ?正切,反正切
其中,n表示弧度
????2.字符函數
????3.日期函數
????4.轉換函數
三、
查看全部 -
日期的格式
查看全部 -
trim 相關函數,如果只有一個參數,是去除空格的意思
查看全部 -
絕對值函數:abs(n)
取余函數mod(m,n)
如果m和n中有一個值為null值,則結果返回null值
查看全部 -
ceil(n) 取整函數,取最大值
floor(n)取整函數,取最小值
查看全部 -
1、四舍五入
round(n[,m])
省略m:0
m>0:小數點后m位
m<0:小數點錢m位
n標識要進行四舍五入的值
m表示保留小數點后幾位或前幾位
2、取整函數
3、常用計算
4、三角函數
查看全部
舉報