[xquery-talk] create a sequence of dates

Andy Bunce bunce.andy at gmail.com
Sat Apr 12 14:59:42 PDT 2014


How about:

let $d1 := xs:date("2014-03-02")
let $d2 := xs:date("2014-04-21")
let $days:=0 to days-from-duration($d2 - $d1)
return $days!($d1+ . *xs:dayTimeDuration('P1D'))

Cheers
/Andy


On Sat, Apr 12, 2014 at 9:58 PM, Jakob Fix <jakob.fix at gmail.com> wrote:

> Hi,
>
> I have a "sparse sequence" of dates that I'd like to pad with the missing
> ones.
>
> So I thought I'd find the min and the max dates, create a sequence from
> min to max and then create a union with the existing sequence and get the
> distinct values.
>
> unfortunately, creating a sequence of dates doesn't seem that simple. This:
>
> let $d1 := xs:date("2014-03-01")
> let $d2 := xs:date("2014-03-31")
> return ($d1 to $d2)
>
> doesn't work. There is probably a way to create a recursive function using
> durations, but maybe it's just me not seeing the forest because of all the
> tress...
>
> cheers,
> Jakob.
>
> _______________________________________________
> talk at x-query.com
> http://x-query.com/mailman/listinfo/talk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://x-query.com/pipermail/talk/attachments/20140412/94bf2ca3/attachment.html>


More information about the talk mailing list