On Wed, Nov 26, 2008 at 04:17:40PM +0100, Ivan Sergio Borgonovo wrote:
> as a more self contained example:
>
> select case when ''='' then null else ''::timestamp end;
Tee hee, I've just realized what you're doing. You've got the cast in
the wrong place! Try:
select case when ''='' then null else '' end::timestamp;
I was reading it this way around automatically! Literals are always
expanded immediately and hence you're getting the error. You want the
case statement to work with strings and only cast it when you know it's
actually safe to make the move from a string literal to a timestamp
value.
Sam