PROCEDURE getWeekly( p_date IN DATE, -- 月份所在日期
方山網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。
p_number IN NUMBER, -- 第幾周
p_startDATE OUT DATE , --該周開始日期
p_endDATE OUT DATE ) --該周結(jié)束日期
AS
v_lastDay DATE;
v_firstDay DATE;
BEGIN
v_lastDay := LAST_DAY(p_date);
v_firstDay := ADD_MONTHS(v_lastDay, -1) + 1;
p_startDate := ROUND(v_firstDay + 7*(p_number-1)-1, 'DAY');
p_endDate := p_startDate + 6;
END getWeekly;
這個(gè)屬于oracle時(shí)間函數(shù)的用法
在oracle里,日期格式是一種特殊的東西
這里有一個(gè)日期轉(zhuǎn)換函數(shù)
select to_char(日期,'yyyy-mm-dd hh24:mi:ss') from tablename;
這里的to_char就是將日期型轉(zhuǎn)換成字符型的一個(gè)函數(shù),轉(zhuǎn)換成的格式就是
2010-08-23 17:51:20
當(dāng)然你可以將這個(gè)日期轉(zhuǎn)換成其他,如:
select to_char(日期,'yyyy-mm-dd') from tablename;
查出來的結(jié)果2010-08-23
所以你要根據(jù)這個(gè)日期來查東西就可以這么用
select * from tablename where to_char(日期,'yyyymmdd')between '20100801' and '20100823'
這個(gè)就是查日期8月1日到8月23日的數(shù)據(jù)
select * from tablename where to_char(日期,'yyyymmdd') = '20100801'
這個(gè)就是查8月1日的數(shù)據(jù)
其他不懂的你再問吧
-------補(bǔ)充------
你把你寫的東西粘貼一下,也好幫你分析啊
你后邊的" + model.Csrq + "參數(shù)傳進(jìn)來的是什么東西?
---------補(bǔ)充2-------
'yyyy-mm-dd 24hi:mi:ss'
這個(gè)地方錯(cuò)了,應(yīng)改成
'yyyy-mm-dd hh24:mi:ss'
不是24hi
正解:select
add_months(last_day(hiredate),1)
from
dual;
Add_months(d,n)
當(dāng)前日期d后推n個(gè)月
用于從一個(gè)日期值增加或減少一些月份
Last_day
本月最后一天
hiredate你需要指定的日期。
通過 對(duì)日期, 進(jìn)行 TRUNC 的操作, 按 'W' 進(jìn)行 截取。
也就是 取得 本周第一天的操作。
下面是 取 年/季度/月/周/日期/小時(shí) 截取的例子。
SQL 執(zhí)行的時(shí)間是 2010-10-17 22點(diǎn)多
SQL SELECT 'Year' AS truncType , TRUNC( SYSDATE, 'YYYY' ) FROM DUAL
2 UNION ALL
3 SELECT 'Quarter' AS truncType, TRUNC( SYSDATE, 'Q' ) FROM DUAL
4 UNION ALL
5 SELECT 'Month' AS truncType, TRUNC( SYSDATE, 'MM' ) FROM DUAL
6 UNION ALL
7 SELECT 'Week' AS truncType, TRUNC( SYSDATE, 'W' ) FROM DUAL
8 UNION ALL
9 SELECT 'Day' AS truncType, TRUNC( SYSDATE, 'D' ) FROM DUAL
10 UNION ALL
11 SELECT 'Hour' AS truncType, TRUNC( SYSDATE, 'HH' ) FROM DUAL;
TRUNCTYPE TRUNC(SYSDATE,'YYYY
-------------- -------------------
Year 2010-01-01 00:00:00
Quarter 2010-10-01 00:00:00
Month 2010-10-01 00:00:00
Week 2010-10-15 00:00:00
Day 2010-10-17 00:00:00
Hour 2010-10-17 22:00:00
6 rows selected.
有了 開始日期, 結(jié)束日期, 就是 開始 日期 + 6 就可以了。
1、首先需要打開Oracle數(shù)據(jù)庫使用sysdate獲取時(shí)間,輸入命令select sysdate from dual回車確定。
2、然后進(jìn)入頁面之后,再輸入執(zhí)行命令語句:select sysdate(),回車鍵確定。
3、最后,點(diǎn)擊之后,就可以看到頁面的左下角的時(shí)間就出來了,可以看到已經(jīng)獲取了最后更新時(shí)間。