顯示具有 sql 標籤的文章。 顯示所有文章
顯示具有 sql 標籤的文章。 顯示所有文章

2022年2月8日 星期二

簡易年資計算 SQL Stored Procedure

 

簡易年資計算 SQL Stored ProcedureSET SERVEROUTPUT ON

DECLARE
    v_seniority VARCHAR2(1); --年資
    v_career_start  VARCHAR2(50) := '20120604'; --年資起日
BEGIN
    SELECT floor(months_between(sysdate , TO_DATE(v_career_start,'YYYYMMDD')) / 12) into v_seniority
    FROM dual;
    DBMS_OUTPUT.put_line('年資:' || v_seniority || '~' || (to_number(v_seniority) +1));
END;

--年資:9~10



2022年1月21日 星期五

Oracle sql 抓取 result set 後的指定筆數

 Oracle sql 抓取 result set 後的指定筆數


select *
from mytable
--第一筆不要
offset 1 rows
--只要三筆
fetch next 3 rows only


參考

Oracle PL/SQL: 取得排序後的第 n ~ m 筆資料

https://tomkuo139.blogspot.com/2009/06/plsql-n-m.html

2022年1月9日 星期日

Oralce Add Weeks 計算疫苗第二劑 + 12 週 第三劑疫苗施打日期計算

Oralce Add Weeks 計算疫苗第二劑 + 12 週 第三劑疫苗施打日期計算


set SERVEROUTPUT ON
declare
shot2 VARCHAR2(8) := '20211020'; --第二劑日期
shot2date date;
gapeweeks number(2) := 12;
shot3  VARCHAR2(8);  --第三劑日期
begin

    select  to_date(shot2,'YYYYMMDD') into shot2date from dual;
    SELECT  to_char(shot2date + ( gapeweeks * 7 ),'YYYYMMDD') into shot3 from dual;
    DBMS_OUTPUT.PUT_LINE('第二劑日期:' || shot2 || ' + ' || gapeweeks  || ' 週');
    DBMS_OUTPUT.PUT_LINE('第三劑日期:' || shot3);
end;


--======
--OUT_PUT
--第二劑日期:20211020 + 12 週
--第三劑日期:20220112

2020年3月20日 星期五

oracle sql 效能調教

oracle sql 效能調教

https://tomkuo139.blogspot.com/2009/08/oracle-select-sql-tuning.html