mysql:14275
From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Tue, 30 Oct 2007 13:46:04 +0900
Subject: [mysql 14275] Re: MySQL 5.0.45 (win32) NULLがあるときのdate()
平塚です。こんにちは。 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
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" <]