mysql:7392
From: "Hisashi Chinami" <"Hisashi Chinami" <chinami@xxxxxxxxxx>>
Date: Mon, 31 Mar 2003 00:57:39 +0900
Subject: [mysql 07392] Re: 日付の計算
NAKASEさん NAKAYAMAさん ありがとございました。 おかげさまでできました。 今までIFとか使ったことなかったずぶの素人なんで また良い勉強になりました。 お返事頂くまでにこんなのをこねくり回して作ってました(恥笑) least(TO_DAYS(CURDATE())-TO_DAYS(startdate),abs(TO_DAYS(enddate)-TO_DAYS(sta rtdate))) 因 寿 ----- Original Message ----- From: "Haruki Nakayama" <haruki@xxxxxxxxxx> To: <ml@xxxxxxxxxx> Sent: Monday, March 31, 2003 12:30 AM Subject: [mysql 07391] Re: 日付の計算 > 中山です。 > > > お送り頂いたselect文だと、日付のデータが入っていない > > レコードに対しての計算ができないかと思うのですが。 > > 日付のデータが入っていないレコードに対しては > > 今日の日付として計算したいのです。 > すみません。見落としてました。 > > こういうときは…どうなんでしょう?? > IFを使うのがいいんでしょうかね。 > > 値が入ってないということは、内部的に0(=0000-00-00)ということでしょうか? > それともNULL? > まあどちらにせよ条件部分を変えるだけだと思うので、0の場合でやって見ます。 > > そうするとSQLは以下のようになると思います。 > (一応startとend両方からの時に対応してみました。) > > SELECT > `id`, > IF(`startdate` = 0, CURDATE(), `startdate`) AS `stdate`, > IF(`enddate` = 0, CURDATE(), `enddate`) AS `eddate`, > TO_DAYS(IF(`enddate` = 0, CURDATE(), `enddate`)) - > TO_DAYS(IF(`startdate` = 0, CURDATE(), `startdate`)) AS `diff` > FROM `tableA` > > 今度はちゃんと実行もして確認してみたので大丈夫だと思います。 > _____________________________________________________ > > haruki@xxxxxxxxxx > http://clef.s8.xrea.com/ > NAKAYAMA Haruki > _____________________________________________________ > > > >
7387 2003-03-30 23:27 ["Hisashi Chinami" <c] 日付の計算 7388 2003-03-30 23:47 ┗["Haruki Nakayama" <h] 7389 2003-03-30 23:58 ┗["Hisashi Chinami" <c] 7390 2003-03-31 00:32 ┣[Nakase Hiroaki <h_na] 7391 2003-03-31 00:30 ┗["Haruki Nakayama" <h] -> 7392 2003-03-31 00:57 ┗["Hisashi Chinami" <c]