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...