I'm sure this has been asked before, but I couldn't find it:

I have a "zzz CHAR (8)" field. It needs to be CHAR because trailing spaces need to be ignored for most operations. However, I need to concatenate it with another (literal) string and need the spaces to be significant in that operation. The *ONLY WAY* I could find to do it in v9.0.1 was (represented in the following function):

CREATE OR REPLACE FUNCTION padded( field CHAR ) RETURNS TEXT
   RETURNS NULL ON NULL INPUT
   IMMUTABLE
   LANGUAGE SQL AS $SQL$
       SELECT RPAD( $1, OCTET_LENGTH( $1 ) )
   $SQL$;

And then of course I write:

SELECT padded( zzz ) || '/' || ...

Is there a better way?

Reply via email to