問題描述:
人員基本資訊匯入程式中,如果出生日期為2023年以前,系統報錯:
分析:經過跟蹤發現,出生日期在匯入到系統的時候被轉換為20xx年了。
比如:1949-01-01轉換後變為2049-01-01
中間結果為:01-1月-49.
date_of_birth =trim(date_of_birth ),--出生日期 是這個函式引起的錯誤。
--to_date()
日期格式:xx-x月-xx 丟失了年份前兩位資訊,再轉換成4位年的時候是按照xx50年為分界線的。xx50年以前,轉換後為:20xx,50以後轉換為19xx。
2023年以前的日期,經過轉換後變為20xx年,2023年以後的轉換為19xx。
結果:這個是系統日期格式引起的錯誤。
cas_hrms_inte***ce_api.hr_change_session_date_format;這個函式可以解決這個問題。他把系統時間格式調整為 標準格式:dd-mm-yyyy.
確認是update hr_employee_inte***ce語句或者trim函式引起的問題。解決辦法是注釋掉這個update 語句。
update hr_employee_inte***ce
sethire_date =trim(hire_date ),--進入本單位時間
last_name =trim(last_name ),--姓名中文名
*** =trim(*** ),--性別
person_type_id =trim(person_type_id ),--人員型別
national_identifier =trim(national_identifier ),--身份證
date_of_birth =trim(date_of_birth ),--出生日期
town_of_birth =trim(town_of_birth ),--祖籍
attribute6 =trim(attribute6 ),--分配資訊_級別
attribute7 =trim(attribute7 ),--分配資訊_工資單
attribute8 =trim(attribute8 ),--分配資訊_狀態
attribute9 =trim(attribute9 ),--分配資訊_雇主
attribute10 =trim(attribute10 ),--分配資訊_納稅地區
per_information1 =trim(per_information1 );--分配資訊_社保phf攤繳地區
commit;
使用hr_employee_api.create_employee遇到此問題。
select * from v$parameter t where t.name = 'nls_date_format'
檢視客戶端的日期格式。
系統日期格式引起的錯誤 出生日期不能為將來日期
問題描述 人員基本資訊匯入程式中,如果出生日期為1950年以前,系統報錯 分析 經過跟蹤發現,出生日期在匯入到系統的時候被轉換為20xx年了。比如 1949 01 01轉換後變為2049 01 01 中間結果為 01 1月 49.date of birth trim date of birth 出生...
92 按出生日期排序
92 按出生日期排序 問題描述 小明希望將自己的通訊錄按好友的生日順序排序,這樣檢視起來方便多了,也避免錯過好友的生日。為了小明的美好願望,你幫幫他吧。小明的好友資訊包含姓名 出生日期。其 生日期又包含年 月 日三部分資訊。輸入n個好友的資訊,按生日的月份和日期公升序輸出所有好友資訊。輸入說明 首先...
92 按出生日期排序
92 按出生日期排序 問題描述 小明希望將自己的通訊錄按好友的生日順序排序,這樣檢視起來方便多了,也避免錯過好友的生日。為了小明的美好願望,你幫幫他吧。小明的好友資訊包含姓名 出生日期。其 生日期又包含年 月 日三部分資訊。輸入n個好友的資訊,按生日的月份和日期公升序輸出所有好友資訊。輸入說明 首先...