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

mysql:7559

From: SAITO Masaru <SAITO Masaru <daisaito@xxxxxxxxxx>>
Date: Sat, 19 Apr 2003 17:34:54 +0900
Subject: [mysql 07559] Re: timestamp 型で、 between の利用は可か

齋藤@横浜です。

202003/04/19 13:00:16 ごろ
ihandman <ihandman@xxxxxxxxxx> さんは以下のように書きました
> 初めまして。
> 下記のオリジナルメッセージ中、★で始まる行が回答のつもりです。
> 
> ---------- ORIGINAL MESSAGE ----------
> On Sat, 19 Apr 2003 02:26:55 +0900
> tamura <zai91210@xxxxxxxxxx> wrote:
> > 田村です、毎度。いつも、お世話になります。
> > 
> > 環境は、
> > OS   :Windows2000Pro
> > MySQL : MySQL3.23.51
> > PHP  : php-4.2.2-Win32
> > です。
> > 
> > PHPの中で使うSQLについて教えてください。
> > 
> > t_order_sales_main テーブル(売上伝票)の構成:
> > order_sales_id        int(11)
> > sales_date            timestamp(14)
> 
>  ★なぜ(14)? 不要では?

14の場合はあえて指定する必要は無いかもしれないですが、
明示的に指定しても害は無いと思います。

http://www.mysql.gr.jp/jpdoc/3.23/manual.ja_Reference.html#DATETIME


> > select * from t_order_sales_main where sales_date between $ymd1 and
> > $ymd2
> > 
> > のようなものを、実現させたいのです。
> >  sales_date( timestamp )を、date化できればと考えたのですが、うまくいき
> > ません。
> > 
> >  よろしくお願いいたします。
> > 
>  ★between and句はDATEだけに適用されるものではありません
>  ★ので、between and句を使うためにdate化する必要はないの
>  ★では?


単に $ymd1,$ymd2は普通の文字列で、sales_dateが timestamp型で
型が違っているからbetweenの比較がうまくいかないと言っているん
だと思います。解決策としては、下記のように型を合わせて比較
すればうまくいくと思います。

1) sales_date between TO_DAYS($ymd1) and TO_DAYS($ymd2)
2) DATE_FORMAT(sales_date,'%Y%m%d%H%i%s') between '$ymd1' and '$ymd2'
# DATE_FORMATの第2引数の内容は$ymd1,$ymd2の中身に合わせる必要があります。

>  また、TIMESTAMP型とDATE型は同じものではないです
>  ★か?

上記のURLを参照すればわかりますが、目的などが違いますので、
同じではないと思います。



---
SAITO Masaru <daisaito@xxxxxxxxxx>


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

      7557 2003-04-19 02:26 [tamura <zai91210@xxx] timestamp 型で、 between の利用は可か   
      7558 2003-04-19 13:00 ┗[ihandman <ihandman@x]                                       
->    7559 2003-04-19 17:34  ┗[SAITO Masaru <daisai]                                     
      7560 2003-04-19 20:22   ┣[ihandman <ihandman@x]                                   
      7563 2003-04-20 00:19   ┣[とみたまさひろ <tomm]                                   
      7565 2003-04-20 01:36   ┃┗[tamura <zai91210@xxx]                                 
      7564 2003-04-20 01:24   ┗[tamura <zai91210@xxx]                                   
      7571 2003-04-21 01:02    ┗[tamura <zai91210@xxx] Re: timestamp 型で、 between の利用は可か(自己レス)