Re: Age Fucntion
От | Tom Lane |
---|---|
Тема | Re: Age Fucntion |
Дата | |
Msg-id | 24396.1168980416@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Age Fucntion (brian stapel <brians_224@hotmail.com>) |
Список | pgsql-novice |
brian stapel <brians_224@hotmail.com> writes: > return date_part('year',age(timestamp dt_hiredate))*365 + ... This is not correct syntax, you should just write age(dt_hiredate). I think you made an incorrect extrapolation from the syntax sometimes used for literal timestamp constants, viz timestamp 'whatever' We support that because it's in the SQL spec, but it doesn't generalize to anything except literal constants. If you needed to convert the variable dt_hiredate to timestamp (which you do not, in this example, because it already is that type), you'd write either cast(dt_hiredate as timestamp) dt_hiredate::timestamp The former is the SQL-spec syntax for a runtime type conversion, the latter a traditional Postgres abbreviation. BTW, the cast and :: syntaxes work fine for literals too. I tend to avoid the type-name-first syntax for literals, just because it doesn't generalize. regards, tom lane
В списке pgsql-novice по дате отправления: