0

MySqlでは、YEARWEEK()を使用して、週とその週の関連する年を1つの文字列で受け取ることができます。(例えばSELECT YEARWEEK('1987-01-01');、「198653」につながる)。

Oracle10gにそのようなものはありますか?

私はTO_CHAR関数についてしか知りません。しかし、使用するTO_CHAR(sysdate, 'YYYYIW');と、198653ではなく198753を受け取ります。では、これを正しく計算するにはどうすればよいでしょうか。

4

2 に答える 2

3

IYYYIWformat を使用しTO_CHAR()ても違いはありますか? 最初の「Y」の代わりに先頭の「 I 」に注意してください。これは ISO 規格に基づいた 4 桁の年です。

于 2011-09-15T10:13:25.107 に答える
0

Oracle が 198753 を返す例を再現できません。

select TO_CHAR(DATE '1987-01-01', 'YYYYIW') from dual198701週番号のISO定義に従って正しいものを返します。

Oracle には、年の最初の日が含まれる週を週 #1 として使用する別の書式マスクWW( の代わりにIW) があります。これは、1 月 1 日の週番号 1 を返します。

こちらをご覧ください: http://en.wikipedia.org/wiki/Week_number#Week_numbering

1987 年 1 月 1 日の週 53 を返す週番号付けスキームがないため、MySQL の週番号は実際には少し奇妙です (しかし、それはあまり意味がありません...)

于 2011-09-15T10:24:27.307 に答える