Re:
От | Tom Lane |
---|---|
Тема | Re: |
Дата | |
Msg-id | 10801.1064778322@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | ... (Dan Langille <dan@langille.org>) |
Ответы |
Re:
|
Список | pgsql-sql |
Dan Langille <dan@langille.org> writes: > WHERE lastlogin between current_date - interval \''' || > quote_literal(i - 1) || '' days\' > AND current_date - interval \''' || > quote_literal(i) || '' days\'''; IIRC, quote_literal() puts single quotes around its result. So you have too many quotes there. Given that you know i is an integer, you don't really need quote_literal for it. Actually, you don't need EXECUTE here at all. Why not just FOR i IN 1..MaxDays LOOP SELECT count(*) INTO r FROM users WHERE lastlogin between current_date- (i-1) * interval ''1 day'' AND current_date - i * interval ''1 day''; RETURNNEXT r; END LOOP; regards, tom lane
В списке pgsql-sql по дате отправления: