獲取時間段資料

2022-07-09 19:09:16 字數 2377 閱讀 9769

create or replace function getdateduan(vchussj varchar2,aflag varchar2) return integer as

vdate date;

p_nl_str varchar2(20);

p_nl_s number;

p_nl_y number;

p_nl_t number;

p_nl_xs number;

p_rtnmsg varchar2(200);

p_dbmsg varchar2(200);

begin

vdate := to_date(vchussj,'yyyy-mm-dd hh24:mi:ss');

prc_get_age(vdate,p_nl_str,p_nl_s,p_nl_y ,p_nl_t,p_nl_xs,p_rtnmsg,p_dbmsg);

if aflag = '歲' then

return p_nl_s;

end if;

if aflag = '月' then

return p_nl_y;

end if;

if aflag = '天' then

return p_nl_t;

end if;

if aflag = '時' then

return p_nl_xs;

end if;

end;

create or replace procedure prc_get_age(p_bir date, --出生日期

p_nl_str out varchar2, --年齡 n歲(包含中文)

p_nl_s out number, --歲

p_nl_y out number, --月

p_nl_t out number, --天

p_nl_xs out number, --小時

p_rtnmsg out varchar2, --1成功, 其它失敗

p_dbmsg out varchar2 --資料庫錯誤資訊

) is

--解析年齡 歲 月 天

v_i number;

begin

p_rtnmsg := '1';

--出生日期不為空

if p_bir is null then

p_rtnmsg := '計算年齡時,出生日期不能為空!';

return;

end if;

--判斷出生日期與當前時間

if p_bir > sysdate then

p_rtnmsg := '計算年齡時,出生日期不能大於當前日期!';

return;

end if;

v_i := months_between(sysdate, p_bir);

p_nl_s := trunc(v_i / 12);

p_nl_y := trunc(mod(v_i, 12));

p_nl_t := trunc(sysdate - add_months(p_bir, trunc(v_i)));

p_nl_xs := 0; --預設0

--若年齡 歲、月、天 都為0時,計算小時

if p_nl_s = 0

and p_nl_y = 0

and p_nl_t = 0 then

p_nl_xs := round((sysdate - p_bir) * 24); --小時

end if;

--返回拼接 年齡 中文 兩種方式

--返回拼接年齡中文, 對應 歲、月、天

if p_nl_s < 1

and p_nl_y > 0 then

p_nl_str := to_char(p_nl_y) || '月';

elsif p_nl_s < 1

and p_nl_y = 0 then

p_nl_str := to_char(p_nl_t) || '天';

else

p_nl_str := to_char(p_nl_s) || '歲';

end if;

/*--返回拼接年齡中文, 分區間 ,,

if (p_nl_s >= 7) then

p_nl_str := to_char(p_nl_s) || '歲';

elsif (p_nl_s >= 1)

and (p_nl_s < 7) then

p_nl_str := to_char(p_nl_s) || '歲' || to_char(p_nl_y) || '月';

else

p_nl_str := to_char(p_nl_y) || '月' || to_char(p_nl_t) || '天';

end if;*/

sql 查詢時間段資料

幾個小時內的資料 date sub now interval 5 hour 今天select from 表名 where to days 時間欄位名 to days now 昨天select from 表名 where to days now to days 時間欄位名 1 7天select fro...

pandas提取特定時間段資料

這一段時間用python做資料統計,資料都存放在txt檔案中 這裡我的資料長這樣,總共24列 17592719043682383 0898 46010700 0034361 2017 05 1901 09 122017 05 1901 05 1913 1110466d3f609cb938dd1537...

mybatis寫當天 當月的資料 時間段資料

當天的資料 select from 表 where date fk time curdate 當月的資料 select from 表 where date format fk time,y m date format curdate y m 昨天 select from 表名 where to da...