[前][次][番号順一覧][スレッド一覧]

mysql:12831

From: Yuki SHIMAZU <Yuki SHIMAZU <y.shimazu@xxxxxxxxxx>>
Date: Thu, 2 Mar 2006 00:36:51 +0900 (JST)
Subject: [mysql 12831] Re: 週番号と曜日の指定で日付を表示する関数

かわじさま、F.Yさま

島津と申します。
早速のご返信ありがとうございます。
いただいた内容を元に試したところ、
無事うまくいきました。以下にご報告いたします。

>何を与えてどういう結果が欲しいのかいまいちわからんけど、
>2006年の第9週の4日目を表示するなら
>select date_add('2006-01-01', interval (9 - 1) * 7 + (4 - 1) day);
>2006と9と4を変えればどうにでもなる。
>お望みはこゆこと?

説明不足で失礼いたしました。
「年」「月」「週番号」「曜日」この4つで、
日付を求める方法を探しておりました。

F.Yさまからいただいた方法を元に、やってみたところ
----------------------
select date_add('2006-01-01', interval ( week('2006-03-01') - 1 + 4 - 1) * 7 +
 (2 - 1) day);

「2006-01-01」の箇所...探したい年を1月1日付で指定
「2006-03-01」の箇所...探したい年月を1日付で指定
「4」の箇所...探したい週番号をその月の中の週番号(1〜5)で指定
「2」の箇所...探したい曜日を曜日番号(1...日曜日〜7...土曜日)で指定
----------------------
上記にてうまくいきました。

また、かわじさまの方法でも、
----------------------
SELECT STR_TO_DATE(concat_ws(' ', 2006, week('2006-03-01') - 1 + 1, 3), '%Y %U
 %w');

「2006」の箇所...探したい年を1月1日付で指定
「2006-03-01」の箇所...探したい年月を1日付で指定
「+1」の箇所...探したい週番号をその月の中の週番号(1〜5)で指定
「3」の箇所...探したい曜日を曜日番号(0...日曜日〜6...土曜日)で指定
----------------------
上記にてうまくいきました。

こちらにて必要な処理がSQL側で持たせられるようになりました。
お二方ともありがとうございました。

  Yuki SHIMAZU
  y.shimazu@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

     12826 2006-02-28 23:44 [Yuki SHIMAZU <y.shim] 週番号と曜日の指定で日付を表示する関数  
     12828 2006-03-01 01:20 ┣[Shinya Kawaji <kawaj]                                       
     12829 2006-03-01 02:17 ┗["F.Y" <fumi_sby@xxxx]                                       
->   12831 2006-03-02 00:36  ┗[Yuki SHIMAZU <y.shim]