forename、lastname、ageを10桁で出力する匿名PL/SQLコードの作成に問題があります(sysdateの代わりに01-SEP-04 ddmonyyyyを使用)テーブル。私が問題を抱えている部分は年齢です。これは私がこれまでに作ってみたものです:テーブルからのPLSQL計算とmonth_between
set serveroutput on
declare cursor
car_owner is select firstN, lastN, trunc(months_between(date '2004-09-01', to_date('19' || substr(pnr, 1,6), 'yyyymmdd')))/12
from carowners;
b_first carowners.firstN%type;
b_last carowners.lastN%type;
age number (3,1);
begin
if not car_owner%isopen
then open car_owner;
end if;
loop
fetch car_owner into b_first, b_last, age;
exit when car_owner%notfound;
dbms_output.put_line (initcap(b_first || ', ' || b_last) || ', ' || age ||' years old');
end loop;
close car_owner;
end;
私が手出力に含まはこれです:
マーティン、VARG、55.4歳
ケニー、グリーン、50.6歳
トニー、 39歳Zawicki、
33.3歳Shawon、ハッサン、
35.4歳サデック、Nowicki、
45.3歳ジェーン・ロバーツ、
テリー、Mcfield、43.4歳
を探して何イムマリス、Vanzi、23.4歳
はこの1つのように出力されます:
マーティン、VARG、55,6歳
ケニー、グリーン、50,7年古い
トニー、Zawicki、39,1歳
Shawon、ハッサン、33,4歳
サデック、Nowicki、35,6歳
ジェーン・ロバーツ、4S、5R歳
TERR 43,6歳のy、Mcfield、
私はコンマと右の小数点以下を必要とする
注...すべてのアドバイスを
感謝と23.5歳マリス、Vanzi、助けて!
はどのようにして50.7に55.6から55.4または50.6から行くのですか?これは単なる小数点の置き換えではありません。 –