CREATE OR REPLACE function BIRLER_BASAMAK(sayi IN INTEGER) return varchar2 is
Result varchar2(50);
begin
CASE
WHEN sayi = 0 THEN Result := '';
WHEN sayi = 1 THEN Result := 'Bir';
WHEN sayi = 2 THEN Result := 'İki';
WHEN sayi = 3 THEN Result := 'Üç';
WHEN sayi = 4 THEN Result := 'Dört';
WHEN sayi = 5 THEN Result := 'Beş';
WHEN sayi = 6 THEN Result := 'Altı';
WHEN sayi = 7 THEN Result := 'Yedi';
WHEN sayi = 8 THEN Result := 'Sekiz';
WHEN sayi = 9 THEN Result := 'Dokuz';
END CASE;
return(Result);
end BIRLER_BASAMAK;
/
CREATE OR REPLACE function ONLAR_BASAMAK(sayi IN INTEGER) return varchar2 is
Result varchar2(50);
begin
CASE
WHEN sayi = 0 THEN Result := '';
WHEN sayi = 1 THEN Result := 'On';
WHEN sayi = 2 THEN Result := 'Yirmi';
WHEN sayi = 3 THEN Result := 'Otuz';
WHEN sayi = 4 THEN Result := 'Kırk';
WHEN sayi = 5 THEN Result := 'Elli';
WHEN sayi = 6 THEN Result := 'Altmış';
WHEN sayi = 7 THEN Result := 'Yetmiş';
WHEN sayi = 8 THEN Result := 'Seksen';
WHEN sayi = 9 THEN Result := 'Doksan';
END CASE;
return(Result);
end ONLAR_BASAMAK;
/
CREATE OR REPLACE function UST_BASAMAK(sayi IN INTEGER) return varchar2 is
Result varchar2(50);
begin
CASE
WHEN sayi = 0 THEN Result := '';
WHEN sayi = 1 THEN Result := 'Yüz';
WHEN sayi = 2 THEN Result := 'Bin';
WHEN sayi = 3 THEN Result := 'Milyon';
WHEN sayi = 4 THEN Result := 'Milyar';
WHEN sayi = 5 THEN Result := 'Tirilyon';
WHEN sayi = 6 THEN Result := 'Katrilyon';
WHEN sayi = 7 THEN Result := 'Kentilyon';
WHEN sayi = 8 THEN Result := 'Seksilyon';
WHEN sayi = 9 THEN Result := 'Septilyon';
END CASE;
return(Result);
end UST_BASAMAK;
/
CREATE OR REPLACE function CONVERT_MONEY_TO_CHAR_TR(numberToConvert IN NUMBER,
currencyStr IN VARCHAR2,
currencyKurusStr IN VARCHAR2,
decimalStr IN VARCHAR2) return varchar2 is
Result varchar2(500);
absoluteNumber number;
absolueNumberStr varchar2(500);
decimalNumber number;
decimalNumberStr varchar2(500);
begin
absoluteNumber := TO_NUMBER(SUBSTR(TO_CHAR(numberToConvert),1,INSTR(TO_CHAR(numberToConvert),decimalStr)));
decimalNumber := TO_NUMBER(SUBSTR(TO_CHAR(numberToConvert),INSTR(TO_CHAR(numberToConvert),decimalStr) + 1,LENGTH(TO_CHAR(numberToConvert))));
absolueNumberStr := CONVERT_NUMBER_TO_CHAR_TR(absoluteNumber);
decimalNumberStr := CONVERT_NUMBER_TO_CHAR_TR(decimalNumber);
Result := absolueNumberStr || ' ' || currencyStr || ' ' || decimalNumberStr || ' ' || currencyKurusStr;
return(Result);
end CONVERT_MONEY_TO_CHAR_TR;
/