Thread: Alternate input for user defined data type

Alternate input for user defined data type

From
Aram Fingal
Date:
I want to create a user defined data type but have flexible input just like, for example, the boolean data type where
TRUEcan be entered as any of (TRUE, true, T, t, YES, yes, Y, y, 1...) and it will be interpreted as the same thing.   

So suppose I have days of the week:

CREATE TYPE  days_of_week AS ENUM ('Su','M','Tu','W','Th','F','Sa');

Except that I want 'MON', 'Mon', 'mon' and 'monday' all to be interpreted as 'M' in the data type.  What is the best
wayto do this.? Is that what input_function is for in the CREATE TYPE command?  Do I need to create a trigger? 




Re: Alternate input for user defined data type

From
Albe Laurenz
Date:
Aram Fingal wrote:
> I want to create a user defined data type but have flexible input just like, for example, the boolean
> data type where TRUE can be entered as any of (TRUE, true, T, t, YES, yes, Y, y, 1...) and it will be
> interpreted as the same thing.
> 
> So suppose I have days of the week:
> 
> CREATE TYPE  days_of_week AS ENUM ('Su','M','Tu','W','Th','F','Sa');
> 
> Except that I want 'MON', 'Mon', 'mon' and 'monday' all to be interpreted as 'M' in the data type.
> What is the best way to do this.? Is that what input_function is for in the CREATE TYPE command?  Do I
> need to create a trigger?

Yes, the type input function converts the string representation to the internal
representation, so that's where you'd implement that in a user defined data type.

Yours,
Laurenz Albe