extract vs date_part
От | Peter Eisentraut |
---|---|
Тема | extract vs date_part |
Дата | |
Msg-id | Pine.LNX.4.30.0102162049270.1009-100000@peter.localdomain обсуждение исходный текст |
Список | pgsql-hackers |
ISTM that it is mighty confusing that extract() and date_part() don't accept the same set of "field" arguments. -> SELECT EXTRACT(decade FROM TIMESTAMP '2001-02-16 20:38:40'); ERROR: parser: parse error at or near "decade" => SELECT EXTRACT("decade" FROM TIMESTAMP '2001-02-16 20:38:40'); ERROR: parser: parse error at or near """ => SELECT date_part('decade', TIMESTAMP '2001-02-16 20:38:40');date_part ----------- 200 This can be an easy grammar fix: diff -c -r2.220 gram.y *** gram.y 2001/02/09 03:26:28 2.220 --- gram.y 2001/02/16 19:42:42 *************** *** 4987,4992 **** --- 4987,4993 ---- ; extract_arg: datetime { $$ = $1; } + | IDENT { $$ = $1; } | TIMEZONE_HOUR { $$ = "tz_hour"; } | TIMEZONE_MINUTE { $$ = "tz_minute"; } ; (Using ColId instead of datetime + IDENT gives reduce/reduce conflicts that I don't want to mess with now.) The date_part implementation is prepared for unknown field selectors, so this should be all safe. Comments? -- Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
В списке pgsql-hackers по дате отправления: