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

mysql:14643

From: HIRATSUKA Sadao <HIRATSUKA Sadao <hiratsuka.sadao@xxxxxxxxxx>>
Date: Fri, 10 Oct 2008 12:33:47 +0900
Subject: [mysql 14643] Re: MySQL 5.026のDATE型のINSERTの挙動を、MySQL4.026の挙動に合わせたい

平塚です。

ちょっと無理みたいです。

On Wed, 08 Oct 2008 11:15:15 +0900
Taichiro Yoshida <taichiro.yoshida@xxxxxxxxxx> wrote:

> しかしMySQL5.026では、無効な日付と解釈され"0000-00-00"がINSERTされます。

5.0では、年月日などの区切り文字に使えるのは
「latin1 で Punctuation フラグのたった文字」だけです。

このへんの文字のことです ⇒  !"#$%&'()*+,-./:;<=>?[\]^_`

sql_common/my_time.cc を見る限り、
my.cnf から設定を持ってきている様子はありません。

ちなみに繰り返してもよいのでこんなのは動いてしまいます。
insert into xxx values ('2008!!!10#(((10 11&&50-=-=-30');

また、latin1 以外のキャラクタセットをまったく意識していないので
一部の漢字は運良く通る場合があります。

mysql> insert into xxx values ('2008槽01漕02 11燥22争35');
Query OK, 1 row affected (0.06 sec)

# これはバグだと思います。運良く通ることを期待してはいけません


> MySQL4.026では、
> 
> INSERT INTO test (test_date) VALUES("2008年10月07日");
> 
> のように、DATE型に"YYYY年MM月DD日"のように日本語が混じっていても、
> "2008-10-07"という値がINSERTされます。

4.0.26はきちんと調べていませんが、どうやら
「数字以外は全部区切り文字」とみなしているようです。

-- 
平塚貞夫 hiratsuka.sadao@xxxxxxxxxx


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

     14641 2008-10-08 11:15 [Taichiro Yoshida <ta] MySQL 5.026のDATE型のINSERTの挙動を、MySQL4.026の挙動に合わせたい
->   14643 2008-10-10 12:33 ┗[HIRATSUKA Sadao <hir]                                       
     14644 2008-10-10 13:07  ┗[Taichiro Yoshida <ta]