Convert_EU_Curency_to_GRTEXT
CREATE FUNCTION [dbo].[Euro_Currency_ToGRWords] (
@Input numeric (38, 3)
) RETURNS NVARCHAR(4000)
AS BEGIN
--dhlosi metavliton
Declare @Number numeric(38,0)
set @Number = convert(numeric(38),@Input - (@Input%1))
DECLARE @EuroNumber NVARCHAR(38)
set @EuroNumber = convert(NVARCHAR(38),@Number)
Declare @Cents as int
set @Cents = 100*(@Input%1)
DECLARE @V10 CHAR(1) set @V10 = '0'
DECLARE @V9 CHAR(1) set @V9 = '0'
DECLARE @V8 CHAR(1) set @V8 = '0'
DECLARE @V7 CHAR(1) set @V7 = '0'
DECLARE @V6 CHAR(1) set @V6 = '0'
DECLARE @V5 CHAR(1) set @V5 = '0'
DECLARE @V4 CHAR(1) set @V4 = '0'
DECLARE @V3 CHAR(1) set @V3 = '0'
DECLARE @V2 CHAR(1) set @V2 = '0'
DECLARE @V1 CHAR(1) set @V1 = '0'
DECLARE @V0 CHAR(1) set @V0 = '0'
DECLARE @MONADES TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @TEEN TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @DEKADES TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @EKATONTADES TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @FMONADES TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @FTEEN TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @FEKATONTADES TABLE (number CHAR(1), word NVARCHAR(4000))
DECLARE @LE NVARCHAR(4000) set @LE = ' '
DECLARE @LD NVARCHAR(4000) set @LD= ' '
DECLARE @m NVARCHAR(4000) set @m= ' '
DECLARE @d NVARCHAR(4000) set @d= ' '
DECLARE @e NVARCHAR(4000) set @e= ' '
DECLARE @x NVARCHAR(4000) set @x= ' '
DECLARE @dx NVARCHAR(4000) set @dx= ' '
DECLARE @ex NVARCHAR(4000) set @ex= ' '
DECLARE @mir NVARCHAR(4000) set @mir= ' '
DECLARE @dmir NVARCHAR(4000) set @dmir= ' '
DECLARE @emir NVARCHAR(4000) set @emir= ' '
DECLARE @prosimo NVARCHAR(4000) set @prosimo= ' '
DECLARE @lepta NVARCHAR(4000) set @lepta= ' '
DECLARE @euro NVARCHAR(4000) set @euro= ' '
DECLARE @finalresult NVARCHAR(4000) set @finalresult= ' '
DECLARE @p INT
set @p = convert(INT,@Input)
INSERT INTO @MONADES SELECT '0', ''
UNION ALL SELECT '1', N'Ένα ' UNION ALL SELECT '2', N'Δύο '
UNION ALL SELECT '3', N'Τρία ' UNION ALL SELECT '4', N'Τέσσερα '
UNION ALL SELECT '5', N'Πέντε ' UNION ALL SELECT '6', N'Έξι '
UNION ALL SELECT '7', N'Επτά ' UNION ALL SELECT '8', N'Οκτώ '
UNION ALL SELECT '9', N'Εννέα '
INSERT INTO @TEEN SELECT '0', N'Δέκα '
UNION ALL SELECT '1', N'Έντεκα ' UNION ALL SELECT '2', N'Δώδεκα '
UNION ALL SELECT '3', N'Δεκατρία ' UNION ALL SELECT '4', N'Δεκατέσσερα '
UNION ALL SELECT '5', N'Δεκαπέντε ' UNION ALL SELECT '6', N'Δεκαέξι '
UNION ALL SELECT '7', N'Δεκαεπτά ' UNION ALL SELECT '8', N'Δεκαοκτώ '
UNION ALL SELECT '9', N'Δεκαεννέα '
INSERT INTO @DEKADES SELECT '0', ''
UNION ALL SELECT '1', N'Δέκα ' UNION ALL SELECT '2', N'Είκοσι '
UNION ALL SELECT '3', N'Τριάντα ' UNION ALL SELECT '4', N'Σαράντα '
UNION ALL SELECT '5', N'Πενήντα ' UNION ALL SELECT '6', N'Εξήντα '
UNION ALL SELECT '7', N'Εβδομήντα ' UNION ALL SELECT '8', N'Ογδόντα '
UNION ALL SELECT '9', N'Ενενήντα '
INSERT INTO @EKATONTADES SELECT '0', N''
UNION ALL SELECT '1', N'Εκατόν ' UNION ALL SELECT '2', N'Διακόσια '
UNION ALL SELECT '3', N'Τριακόσια ' UNION ALL SELECT '4', N'Τετρακόσια '
UNION ALL SELECT '5', N'Πεντακόσια ' UNION ALL SELECT '6', N'Εξακόσια '
UNION ALL SELECT '7', N'Επτακόσια ' UNION ALL SELECT '8', N'Οκτακόσια '
UNION ALL SELECT '9', N'Εννιακόσια '
INSERT INTO @FMONADES SELECT '0', N''
UNION ALL SELECT '1', N'Μία ' UNION ALL SELECT '2', N'Δύο '
UNION ALL SELECT '3', N'Τρεις ' UNION ALL SELECT '4', N'Τέσσερις '
UNION ALL SELECT '5', N'Πέντε ' UNION ALL SELECT '6', N'Έξι '
UNION ALL SELECT '7', N'Επτά ' UNION ALL SELECT '8', N'Οκτώ '
UNION ALL SELECT '9', N'Εννέα '
INSERT INTO @FTEEN SELECT '0', N'Δέκα '
UNION ALL SELECT '1', N'Έντεκα ' UNION ALL SELECT '2', N'Δώδεκα '
UNION ALL SELECT '3', N'Δεκατρείς ' UNION ALL SELECT '4', N'Δεκατέσσερις '
UNION ALL SELECT '5', N'Δεκαπέντε ' UNION ALL SELECT '6', N'Δεκαέξι '
UNION ALL SELECT '7', N'Δεκαεπτά ' UNION ALL SELECT '8', N'Δεκαοκτώ '
UNION ALL SELECT '9', N'Δεκαεννέα '
INSERT INTO @FEKATONTADES SELECT '0', N''
UNION ALL SELECT '1', N'Εκατόν ' UNION ALL SELECT '2', N'Διακόσιες '
UNION ALL SELECT '3', N'Τριακόσιες ' UNION ALL SELECT '4', N'Τετρακόσιες '
UNION ALL SELECT '5', N'Πεντακόσιες ' UNION ALL SELECT '6', N'Εξακόσιες '
UNION ALL SELECT '7', N'Επτακόσιες ' UNION ALL SELECT '8', N'Οκτακόσιες '
UNION ALL SELECT '9', N'Εννιακόσιες '
--metatropi ton dekadikon se monades-- gia apalifi tou kommatos
--set @i = CONVERT(INT,(100 * (@Input - @inputNumber)))
if @Cents < 10 begin
set @EuroNumber = @EuroNumber + '0' + convert(nvarchar(38),@Cents) end
else begin
set @EuroNumber = @EuroNumber + convert(nvarchar(38),@Cents) end
IF LEN(@EuroNumber) > 0 BEGIN SET @V10 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber) , 1), 1)END
IF LEN(@EuroNumber)-1 > 0 BEGIN SET @V9 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-1, 1), 1)END
IF LEN(@EuroNumber)-2 > 0 BEGIN SET @V8 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-2, 1), 1)END
IF LEN(@EuroNumber)-3 > 0 BEGIN SET @V7 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-3, 1), 1)END
IF LEN(@EuroNumber)-4 > 0 BEGIN SET @V6 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-4, 1), 1)END
IF LEN(@EuroNumber)-5 > 0 BEGIN SET @V5 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-5, 1), 1)END
IF LEN(@EuroNumber)-6 > 0 BEGIN SET @V4 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-6, 1), 1)END
IF LEN(@EuroNumber)-7 > 0 BEGIN SET @V3 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-7, 1), 1)END
IF LEN(@EuroNumber)-8 > 0 BEGIN SET @V2 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-8, 1), 1)END
IF LEN(@EuroNumber)-9 > 0 BEGIN SET @V1 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-9, 1), 1)END
IF LEN(@EuroNumber)-10 > 0 BEGIN SET @V0 = LEFT(SUBSTRING(@EuroNumber, LEN(@EuroNumber)-10, 1), 1)END
-- If V(9) = 1 Then LE = "" Else LE = MONADES(V(10))
IF @V9='1' BEGIN
SET @LE = '' END
ELSE BEGIN
SET @LE =(SELECT word FROM @MONADES WHERE @V10 = number) END
-- If V(9) = 1 Then LD = TEEN(V(10)) Else LD = DEKADES(V(9))
IF @V9='1' BEGIN
SET @LD = (SELECT word FROM @TEEN WHERE @V10 = number) END
ELSE BEGIN
SET @LD =(SELECT word FROM @DEKADES WHERE @V9 = number) END
-- If V(7) = 1 Then m = "" Else m = MONADES(V(8))
IF @V7='1' BEGIN
SET @m = '' END
ELSE BEGIN
SET @m =(SELECT word FROM @MONADES WHERE @V8 = number) END
-- If V(7) = 1 Then d = TEEN(V(8)) Else d = DEKADES(V(7))
IF @V7='1' BEGIN
SET @d = (SELECT word FROM @TEEN WHERE @V8 = number) END
ELSE BEGIN
SET @d =(SELECT word FROM @DEKADES WHERE @V7 = number) END
SET @e =(SELECT word FROM @EKATONTADES WHERE @V6 = number)
-- If V(7) + V(8) = 0 Then EKATONTADES(1) = "Εκατό"
IF @V7='0' AND @V8='0' AND @V6='1' BEGIN
SET @e = N'Εκατό ' END
-- If V(4) = 1 Then x = "" Else x = FMONADES(V(5))
IF @V4='1' BEGIN
SET @x = '' END
ELSE BEGIN
SET @x =(SELECT word FROM @FMONADES WHERE @V5 = number) END
-- If V(4) = 1 Then dx = FTEEN(V(5)) Else dx = DEKADES(V(4))
IF @V4='1' BEGIN
SET @dx = (SELECT word FROM @FTEEN WHERE @V5 = number) END
ELSE BEGIN
SET @dx =(SELECT word FROM @DEKADES WHERE @V4 = number) END
SET @ex =(SELECT word FROM @FEKATONTADES WHERE @V3 = number)
-- If V(4) + V(5) = 0 Then FEKATONTADES(1) = "Εκατό"
IF @V4='0' AND @V5='0' AND @V3='1' BEGIN
SET @ex = N'Εκατό ' END
-- If V(1) = 1 Then mir = "" Else mir = MONADES(V(2))
IF @V1='1' BEGIN
SET @mir = '' END
ELSE BEGIN
SET @mir =(SELECT word FROM @MONADES WHERE @V2 = number) END
-- If V(1) = 1 Then dmir = TEEN(V(2)) Else dmir = DEKADES(V(1))
IF @V1='1' BEGIN
SET @dmir = (SELECT word FROM @TEEN WHERE @V2 = number) END
ELSE BEGIN
SET @dmir =(SELECT word FROM @DEKADES WHERE @V1 = number) END
SET @emir =(SELECT word FROM @EKATONTADES WHERE @V0 = number)
-- If V(1) + V(2) = 0 Then EKATONTADES(1) = "Εκατό"
IF @V1='0' AND @V2='0' AND @V0='1' BEGIN
SET @emir ='Εκατό ' END
IF @p = 0 BEGIN
SET @euro = N'Μηδέν ' END
IF @p BETWEEN 1 AND 999 BEGIN
SET @euro = @e + @d + @m END
IF @p BETWEEN 1000 AND 1999 BEGIN
SET @euro = N'Χίλια ' + @e + @d + @m END
IF @p BETWEEN 2000 AND 999999 BEGIN
SET @euro = @ex + @dx + @x + N'Χιλιάδες ' + @e + @d + @m END
IF @p BETWEEN 1000000 AND 1999999 BEGIN
IF @V3='0' AND @V4='0' AND @V5='0' BEGIN
SET @euro = N'Ένα Εκατομμύριο ' + @e + @d + @m END
ELSE BEGIN
IF @V3='0' AND @V4='0' AND @V5='1' BEGIN
SET @euro = N'Ένα Εκατομμύριο ' + N'Χίλια ' + @e + @d + @m END
ELSE BEGIN
SET @euro = N'Ένα Εκατομμύριο ' + @ex + @dx + @x + N'Χιλιάδες ' + @e + @d + @m END
END
END
IF @p BETWEEN 2000000 AND 999999999 BEGIN
IF @V3='0' AND @V4='0' AND @V5='0' BEGIN
SET @euro = (SELECT @emir + @dmir + @mir +N'Εκατομμύρια ' + @e + @d + @m) END
ELSE BEGIN
IF @V3='0' AND @V4='0' AND @V5='1' BEGIN
SET @euro = @emir + @dmir + @mir +N'Εκατομμύρια ' +N'Χίλια ' + @e + @d + @m END
ELSE BEGIN
SET @euro = @emir + @dmir + @mir +N'Εκατομμύρια ' + @ex + @dx + @x + N'Χιλιάδες ' + @e + @d + @m END
END
END
IF @V9='0' AND @V10='0' BEGIN
SET @finalresult = @euro + N'Ευρώ' END
ELSE BEGIN
SET @finalresult = @euro + N'Ευρώ και ' + @V9 + @V10 + N'/100 Σέντ'
END
--END
RETURN @finalresult -- return the result
END
go