Re: function date_part
От | Tom Lane |
---|---|
Тема | Re: function date_part |
Дата | |
Msg-id | 1024.955466971@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | function date_part (PDH.KFI3@t-online.de (Andreas Stahlhut)) |
Список | pgsql-sql |
PDH.KFI3@t-online.de (Andreas Stahlhut) writes: > If I use this in a create table like > create table primtab( > primkey > int4 > primary key > default > int4(date_part('year', 'now'::datetime) * 1000+nextval('serial_seq')) > ); > it never works. > ERROR: parser: parse error at or near "'" The default-value support in 6.5.* is pretty limited, not to say broken; I think it is probably failing on the '::datetime' part of that expression. 7.0 copes just fine. As a workaround for 6.5, you might try writing date_part('year', now()) instead. > If I use it in a create function like > create function primfnc() returns int4 > as 'select .... as primnum' > language 'sql'; > it never works. > ERROR: parser: parse error at or near "year" This is probably pilot error. Did you remember to double the ' symbols in the body of the function definition? Remember the body is itself a single-quoted string, so any embedded quote marks must be written '' (or \' if you prefer). regards, tom lane
В списке pgsql-sql по дате отправления: