基本語法就不說了,給你提供一個比較簡單的思路。
假設輸入引數為v_year
首先定義一個字串,vs_str:="ABCDEFGHJKLMNPQRTUVWXY"
取輸入引數的後兩位vn_l2,也就是用100取模,vn_l2:=mod(v_year,100)
如果vn_l2小於10,則取個位數。
如果vn_l2大於等於10,則取vs_str串中的某一位。因vs_str共22個字串,所以該字串中用22取模得到的數對應的字元就是想要的結果,如果模為0,則返回最後一個字元。
if vn_l2
return vn_l2;
else
vn_p := mod(vn_l2-9,22);
if vn_p = 0 then
return "Y";
return substr(vs_str,vn_p,1)
end if;
基本語法就不說了,給你提供一個比較簡單的思路。
假設輸入引數為v_year
首先定義一個字串,vs_str:="ABCDEFGHJKLMNPQRTUVWXY"
取輸入引數的後兩位vn_l2,也就是用100取模,vn_l2:=mod(v_year,100)
如果vn_l2小於10,則取個位數。
如果vn_l2大於等於10,則取vs_str串中的某一位。因vs_str共22個字串,所以該字串中用22取模得到的數對應的字元就是想要的結果,如果模為0,則返回最後一個字元。
if vn_l2
return vn_l2;
else
vn_p := mod(vn_l2-9,22);
if vn_p = 0 then
return "Y";
else
return substr(vs_str,vn_p,1)
end if;
end if;