| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | Mark Lorenz <postgres(at)four-two(dot)de> | 
| Cc: | Cleysson Lima <cleyssondba(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org | 
| Subject: | Re: Created feature for to_date() conversion using patterns 'YYYY-WW', 'YYYY-WW-D', 'YYYY-MM-W' and 'YYYY-MM-W-D' | 
| Date: | 2020-04-04 16:39:05 | 
| Message-ID: | 27198.1586018345@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Mark Lorenz <postgres(at)four-two(dot)de> writes:
> with a bit space to this issue, I re-read your comments. I am beginning 
> to understand what you mean or - better - what's wrong with my thoughts. 
> When I understand you correctly, you say, the WW can start at any 
> weekday, and is not fixed to Sunday, right? In your opinion the WW 
> starts with the weekday of Jan, 1st? That's what could be my problem: I 
> always thought (maybe triggered through the D pattern), that WW has to 
> start sundays. But, now I agree with you, the docs fit better to your 
> interpretation:
> "the first week starts on the first day of the year"
Yes, that's clearly what our code, and what Oracle's does too, given
the tests I showed upthread.
> But, nevertheless, what about adding the function to accept the DAY, D 
> (and maybe the Q) patterns for to_date() - in this case, of course, in 
> the uncorrelated version? to_char() handles them properly. And, from my 
> point of view, there is no reason why they should give "1" instead the 
> real day number. What do you think?
The trick is to produce something sane.  I think that a reasonable
precedent for this would be what to_date does with ISO-week fields:
you can ask it to parse IYYY-IW-ID but you can't mix that with regular
month/day/year fields.  So for example, it seems like it'd be possible
to reconstruct a date from YYYY-WW-D, because that's enough to uniquely
identify a day.  The D field isn't monotonically increasing within a
week, but nonetheless there's exactly one day in each YYYY-WW week that
has a particular D value.  However you probably don't want to allow
inconsistent mixtures like YYYY-WW-ID, because that's just a mess (and
more than likely, it's a mistake).  And I would not be in favor of
allowing YYYY-Q either, because that would not be enough to uniquely
identify a day, so there's really no point in allowing Q to enter into
to_date's considerations at all.
Whether there is actually any field demand for such a feature is
not clear to me.  AFAICT Oracle doesn't support it.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Corey Huinker | 2020-04-04 16:52:29 | Re: Add A Glossary | 
| Previous Message | Tom Lane | 2020-04-04 15:22:32 | Re: adding partitioned tables to publications |