Found my answer.. nevermind.

```
DB[Sequel.function(:generate_series, start, end_date, Sequel.cast('1 day', 
:interval))]
```

On Friday, 23 August 2019 23:25:22 UTC+9, Yan Shiyason wrote:
>
> Hi,
>
> I am trying to achieve this SQL by using Sequel's ruby DSL rather than as 
> a string.
>
> ```ruby
> statement = <<~SQL
>         SELECT generate_series(
>            ?::date,
>            ?::date,
>            interval '1 day'
>         )::date AS day
> SQL
> DB[statement, start, end_date].all
>
> # => [{:day=>Wed, 01 Jan 2020},
>  {:day=>Thu, 02 Jan 2020},
>  {:day=>Fri, 03 Jan 2020},
>  {:day=>Sat, 04 Jan 2020},
>  {:day=>Sun, 05 Jan 2020}]
>
> ```
>
> This is what I tried so far:
>
> ```ruby
>
> start = Date.parse('2019-01-01')
> end_date = Date.parse('2019-01-05')
>
>
> DB[Sequel.function(:generate_series, start, end_date, 1.day)]
> DB[Sequel.function(:generate_series, start, end_date, interval: '1 day')]
> DB[Sequel.function(:generate_series, start, end_date, 'interval 1 day')]
> DB[Sequel.function(:generate_series, start, end_date, 
> Sequel.function(:interval,  '1 day'))]
> DB[Sequel.function(:generate_series, start, end_date, Sequel.date_add(nil, 
> days: 1))]
> ```
>
> Any help would be appreciated.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sequel-talk/ad67feba-64ba-4708-9954-a9079dc0fd38%40googlegroups.com.

Reply via email to