to_date(str,『yyyy/mm/dd』):將字串形式的日期轉化成日期型的日期
to_char(date1,『yyyy/mm/dd』):將日期形式的日期轉化成字元型的日期
示例:
select to_date(sysdate,『yyyy/mm/dd』) from dual;–報錯 select注意:to_char(『2021/01/15』,『yyyy/mm/dd』) from dual;–報錯 無效數字
1).to_date()轉換的資料不能為日期型資料
2).to_char()轉換的資料不能為字元型的資料
a.資料庫當前的系統時間 含有 年月日 時分秒
b.函式可以進行運算 ,小數按照24小時劃分計入到運算結果中
示例:
select sysdate from dual;
select sysdate+
1from dual;
--增加天數
select sysdate+
13from dual;
--整數 增加天數
select sysdate+
1.5from dual;
--小數按照24小時劃分
select sysdate+1/
24from dual;
select sysdate+1/
24/60from dual;
求d1和d2之間相差幾個月(d1>d2)否則值為負,返回的為一數值
注意:a.不足整月,除以31以小數顯示
b.月末日期用函式處理,返回整數
示例:1).查詢至今2023年已過幾個月
select months_between(to_date(
'2021/01/01'
,'yyyy/mm/dd'
),sysdate)
from dual;
--結果為負
select months_between(sysdate,to_date(
'2021/01/01'
,'yyyy/mm/dd'))
from dual;
--結果為正
select months_between(to_date(
'2021/01/19'
,'yyyy/mm/dd'
),to_date(
'2021/01/01'
,'yyyy/mm/dd'))
from dual;
2).查詢一月31號至二月28號相差幾個月
select months_between(to_date(
'2021/02/28'
,'yyyy/mm/dd'
),to_date(
'2021/01/31'
,'yyyy/mm/dd'))
from dual;
獲取指定日期對應的當月最後一天,即月末日期
示例:1).獲取當月最後一天的日期
select last_day(sysdate)
from dual;
2).判斷指定日期的閏年平年
–二月的最後一天是28、29
–整百年/400 非整百年/4 1900
在date1日期的基礎上加n個月。n可為正可為負
注意:a.n為正增加月數,n為負減少月數
b.當n為小數時,自動取整數字數值
c.若處理的日期為月末日期,返回處理後的月末日期,若處理後的日期中無當下日期,則返回月末日期
示例:1).n為正增加月數
select add_months(sysdate,1)
from dual;
2).n為負減少月數
select add_months(sysdate,-1
)from dual;
3).n為小數 向下取整
select add_months(sysdate,
1.5)
from dual;
--2021/02/19
select add_months(sysdate,
1.9)
from dual;
--2021/02/19
select add_months(sysdate,
1.4)
from dual;
--2021/02/19
n為負小數 向上取整
select add_months(sysdate,
-1.5
)from dual;
select add_months(sysdate,
-1.9
)from dual;
–小數直接trunc(n)
4). add_months()函式針對月份的加減
select add_months(sysdate,12)
from dual;
select add_months(to_date(
'2020/03/30'
,'yyyy/mm/dd'),
2)from dual;
--2020/05/30
select add_months(to_date(
'2020/03/30'
,'yyyy/mm/dd'),
-1)from dual;
--2020/02/29
select add_months(to_date(
'2020/02/29'
,'yyyy/mm/dd'),
2)from dual;
--2020/04/30
next_day(d,w):給定日期d,在本週內就獲取本週的第w天的日期,
不在本週就獲取在下一周的第w天的日期
next_day(d,w):給定日期d,在本週內就獲取本週星期w的日期,
不在本週就獲取在下一周星期w的日期
select next_day(sysdate,
'星期二'
)from dual;
select next_day(sysdate,3)
from dual;
2).獲取下乙個週三的日期
select next_day(sysdate,
'星期三'
)from dual;
select next_day(sysdate,4)
from dual;
1).sysdate
2).month_between(d1,d2)
d23).last_day(d1)
–返回當前月份的最後一天的日期
4).add_months(d1,n)
兩個引數:乙個日期型,乙個數字
5).next_day(d1,w)
–返回下乙個w的日期
w為數字:在本週內 返回本週第w天的日期,否則返回下一周第w天的日期(以周天為第一天)
w為星期w:在本週內 返回本週w的日期,否則返回下一周w的日期(以周天為第一天)
ORACLE 日期型函式
1.add months 增加或減去月份 sql select to char add months to date 199912 yyyymm 2 yyyymm from dual to char 200002 sql select to char add months to date 19991...
Oracle數字型,字元型,日期型函式
一.數字型函式 在oracle資料庫中,dual表示真實存在的,它本身包含了乙個dummy欄位,如果使用者刪除了該錶,則oracle將無法啟動。下面記錄的是部分函式。mod n1,n2 求餘,當n2為0時,返回的是n1。sign n 函式,返回引數n的符號。即正數返回1,負數返回 1,0就返回0。r...
S型函式 Sigmoid 函式
sigmoid函式,即f x 1 1 e x 神經元的非線性作用函式。x是冪數 人工神經網路的學習演算法 bp演算法 神經網路的學習是基於一組樣本進行的,它包括輸入和輸出 這裡用期望輸出表示 輸入和輸出有多少個分量就有多少個輸入和輸出神經元與之對應。最初神經網路的權值 weight 和閾值 thre...