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

mysql:14276

From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Tue, 30 Oct 2007 15:50:05 +0900
Subject: [mysql 14276] Re: MySQL 5.0.45 (win32) NULLがあるときのdate()

平塚です。

類似バグが見当たらなかったので、
MySQL Bugsに報告しておきました。

http://bugs.mysql.com/bug.php?id=31933

time()では発生しないので、ソースを見比べてみると
どうやら確かにdate()の処理がバグってる気がします。

そのうち直ると思いますが、
とりあえず今のバージョンで回避するには↓こんな感じでしょうか。

where date(ifnull(c1, '1000-01-01')) = '2007-01-01'


よろしくお願いいたします。



On Tue, 30 Oct 2007 13:46:04 +0900
HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx> wrote:

> 平塚です。こんにちは。
> 
> On Tue, 30 Oct 2007 01:56:38 +0900
> Kazuhiro Yoshida <moriq@xxxxxxxxxx> wrote:
> 
> > datetime型のカラム (at) に NULL があるとき、
> > 条件節の date() がうまく動かないみたいです。
> > 
> > 再現しますでしょうか。
> 
> 手元にあった
> ・Windows 5.0.45
> ・Linux 5.0.46
> で再現しました。
> 
> ◆再現する例
> mysql> create table test (c1 datetime);
> Query OK, 0 rows affected (0.00 sec)
> 
> mysql> insert into test values (null);
> Query OK, 1 row affected (0.00 sec)
> 
> mysql> select * from test where date(c1) = '2007-01-01';
> Empty set (0.00 sec)
> 
> mysql> insert into test values ('2007-01-01 10:00:00');
> Query OK, 1 row affected (0.01 sec)
> 
> mysql> select * from test where date(c1) = '2007-01-01';
> Empty set (0.00 sec) ★
> 
> mysql> select * from test;
> +---------------------+
> | c1                  |
> +---------------------+
> | NULL                |
> | 2007-01-01 10:00:00 |
> +---------------------+
> 2 rows in set (0.00 sec)
> 
> 
> ◆再現しない例
> mysql> create table test (c1 datetime);
> Query OK, 0 rows affected (0.04 sec)
> 
> mysql> insert into test values ('2007-01-01 10:00:00');
> Query OK, 1 row affected (0.00 sec)
> 
> mysql> insert into test values (null);
> Query OK, 1 row affected (0.01 sec)
> 
> mysql> select * from test where date(c1) = '2007-01-01';
> +---------------------+
> | c1                  |
> +---------------------+
> | 2007-01-01 10:00:00 |
> +---------------------+
> 1 row in set (0.00 sec)
> 
> 
> 条件の評価時にnullにあたるとそこでやめちゃうみたいですね。
> これはまずいですね。
> 
> -- 
> 平塚貞夫 hiratsuka.sadao@xxxxxxxxxx

-- 
平塚貞夫 hiratsuka.sadao@xxxxxxxxxx


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

     14274 2007-10-30 01:56 [Kazuhiro Yoshida <mo] MySQL 5.0.45 (win32) NULLがあるときのdate()
     14275 2007-10-30 13:46 ┗[HIRATSUKA Sadao <hir]                                       
->   14276 2007-10-30 15:50  ┣[HIRATSUKA Sadao <hir]                                     
     14278 2007-10-30 16:57  ┃┗[Kazuhiro Yoshida <mo]                                   
     14279 2007-10-30 17:22  ┃ ┗[HIRATSUKA Sadao <hir]                                 
     14280 2007-10-30 17:56  ┃  ┗["tarou kawauso" <kaw]                               
     14277 2007-10-30 16:55  ┗["Yasuda, Hiroyuki" <]