自 政府資料開放平台 下載下來的檔案格式為 csv,內容依序為【西元日期】(格式為 yyyymmdd)、【星期】(國字)、【是否放假】(0=上班, 2=放假)、【備註】 4 個欄位,以逗點【,】分隔。自 01/01 ~ 12/31 一天一列。
比照這個 csv,在資料庫(我採用 MySQL) 中建一個 table,不過我的 table 有多一個【年度】欄位,並將【是否放假】欄位改名為【休假】。
我需要的只有放假日,也就是【休假】欄位值 = 2,因此先透過 phpMyAdmin 存入資料庫,再將【平日】刪除。
-- csv 最前面補加 西元年度欄位
-- 將 csv 上傳存入 holiday_tmp
-- holiday 和 holiday_tmp 差別只在 holiday 有 autoincrement 的 primary key
-- 刪除平日, 只留假日
DELETE FROM holiday_tmp
WHERE 休假=0
-- 存入 holiday
INSERT INTO holiday
(年度,日期,星期,休假,備註)
SELECT * FROM holiday_tmp
-- 清空 holiday_tmp
DELETE FROM holiday_tmp
沒有留言:
張貼留言