Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sOBbO-00CscP-NY for pgsql-general@arkaria.postgresql.org; Mon, 01 Jul 2024 07:37:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sOBbN-00GRB6-0q for pgsql-general@arkaria.postgresql.org; Mon, 01 Jul 2024 07:37:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sOBbM-00GRAs-Ki for pgsql-general@lists.postgresql.org; Mon, 01 Jul 2024 07:37:29 +0000 Received: from mout.gmx.net ([212.227.17.21]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sOBbK-004RcK-SV for pgsql-general@lists.postgresql.org; Mon, 01 Jul 2024 07:37:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1719819445; x=1720424245; i=shammat@gmx.net; bh=tuMfPWg9bloRi1DFd+zKwNnDCm1WvOUL0w8BUr/XzPM=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=bMRv/Oq7xHqoT5Piqs4tyIgYv0pcJDScUv/cBX4XCbUVj/6EdHqKRkxbuF2qhsOZ /+vv8tJ47rEwhXrc/a73D5kveglmZ7USEi29W88NR2bq6BndKqnkRV/ehmpA1ansV B0kyjIbzkA+KXgO1UDxSfMb1AncNs/mL4oPNq8gLJbBtr74xWnI/yHBANuGtFi7nu 4TvzEIsK6DGr2L6pSX0+EY/oQsR2tnGf47SA6ftQt3KsHwHFk7y7V0luPLbiC4PZM ouH8Sd1qQSzqFTGFsgDmEPa/KhLVvtF4WH3ZoDNXh07O27fZWvFKxiPOKHgHGGufT OEuNdTemVw/kyt0jGg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [10.1.33.177] ([185.40.248.10]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MBDnC-1sZl751yLm-004Zlc for ; Mon, 01 Jul 2024 09:37:25 +0200 Message-ID: Date: Mon, 1 Jul 2024 09:37:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Passing a dynamic interval to generate_series() To: pgsql-general@lists.postgresql.org References: Content-Language: de-DE, en-US From: Shammat In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:1TG8W3m5qZFxoefD1KNGGG72PNasLKaTtHg3Vu1/kef1lX9Vysv Z7CqP4E0prvgSkEr3TBZ3O4dwdrSg6UC5zzkSNF2ShZ4JSgm/GRXmmTWM0zmQ3WLkGWI6z0 1oUqVnL7gHquiQl3PUfCIkYfi1HSyIF9fu6bXzRCBD7oDOGl6UAndQmIZhgjy2CZtcVFf5c SVBGZhoQA8fWrDo/4byFA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:IafUlf+TQzs=;XI/YX4bzxtdVXNQXNkEmetpZEHK z5CB02qQlwp9OBPdS1pB0VFbK57B+dcx1cObDK/0kAyLTv/qwEVIReakpeK/vd5DHWZAe5/ix M/O85YdTMs/TIZE6VXxXWoUXxMFRBjy2qn0NG9u4+q0Qx9aeczGHKV+5tEOaKYHvSC8oR/pNt +QrABB2Xr38bMCKSNnJFgdm8rCz7IJzSJu4WKCH7h8hlT9hzHycOyOp/0oke3tUuwe7oVNAoS ahIsBy8/Cd9JDAe81ilBzKmdKtKRsIc7f5dIot+XbhGEoE4zDXIJJLCaEbFPsK8EEz4YhKatD wrPZKt+4b7rW/sZ6EMJO0czfijd+bhzOMhNIyFqZGtYY5Brela2ARs8QfdpE4JTLtM0Iqhzan ozJtCGBBvim+rwdKUZBWJ+F6TNvGTsRPkojFHe1BxGEERTcdByVI2tkmZNRhCKv0/cK8RPz+L 67J2LFTCW03UptutdtNtlk0+y8pNJ5O3hdbcdIb7Z6EYm4epD6vZ3ZTeGNGmuYZoIpS6FiHJQ Tdisdnt6XeobRYy370jUcqc1Q2gB4Q7geWD388pOHrewi+fzKdNcphitA8iL6psWja3jFx6qp i0DesKx602+LINdsBDU1Pvz41TGAJhXIExefUUEiHGtrL+DhhB7HKE/6zT3vYFVNmQN91qWVi fqNfRBB5M8Y5Xuaeh4CsxrTRsOrWm5SSzcYbLcd7DiSC0Vo70MlQMeaBz0tf/1C5L+moNht4t 12/GeLxEX9orEVxMOg80wg5rKZ2SKl+6QjiReNSTrXzdbH1/6zTIGPybjKwg15EhVPmuW+ClG x7hr0pkCOhJOQLr10edhKoZj09RpCP5Dq1V77cX0S9KdY= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Igal Sapir schrieb am 01.07.2024 um 00:39: > I am trying to pass a dynamic interval to generate_series() with date ra= nge. > > This works as expected, and generates a series with an interval of 1 mon= th: > > SELECT generate_series( > =C2=A0 =C2=A0 date_trunc('month', current_date), > =C2=A0 =C2=A0 date_trunc('month', current_date + interval '7 month'), > =C2=A0 =C2=A0 interval '1 month' > ) > > > This works as expected and returns an interval of 1 month: > > SELECT ('1 ' || 'month')::interval; > > > But this throws an error (SQL Error [42601]: ERROR: syntax error at or n= ear "'1 '"): > > SELECT generate_series( > =C2=A0 =C2=A0 date_trunc('month', current_date), > =C2=A0 =C2=A0 date_trunc('month', current_date + interval '7 month'), > =C2=A0 =C2=A0 interval ('1 ' || 'month')::interval > ) I am a fan of make_interval() when it comes to creating intervals from dyn= amic parameters: SELECT generate_series( date_trunc('month', current_date), date_trunc('month', current_date + interval '7 month'), make_interval(months =3D> 1) ) The value for make_interval() can e.g. passed as a parameter from your pro= gramming language.