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

mysql:7563

From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sun, 20 Apr 2003 00:19:46 +0900
Subject: [mysql 07563] Re: timestamp 型で、 between の利用は可か

とみたです。

On Sat, 19 Apr 2003 17:34:54 +0900
SAITO Masaru <daisaito@xxxxxxxxxx> wrote:

> 単に $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型は YYYYMMDDHHMMSS で、DATE 型は YYMMDD ですので、型を合わせ
るには、

1) sales_date BETWEEN CONCAT($ymd1,"000000") AND CONCAT($ymd2,"235959")
2) DATE_FORMAT(sales_date, "%Y%m%d") BETWEEN $ymd1 AND $ymd2
3) LEFT(sales_date,8) BETWEEN $ymd1 AND $ymd2

…とかじゃないとダメだと思います。

-- 
とみたまさひろ <tommy@xxxxxxxxxx>
日本MySQLユーザ会 http://www.mysql.gr.jp

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

      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 の利用は可か(自己レス)