[pgsql-jp: 30124] Re: PostgreSQLのバージョンアップに伴う注意点
Iso, Toshitaka
toshitaka.iso @ hp.com
2003年 6月 3日 (火) 20:12:07 JST
杉田さん。あさかわさん。
ごへんとうありがとうございます。
> 常日頃確認しなければなりません。
> 1) ソースファイル中の HISTORY
これが一番しっかり出ていそうですね。あとはSRAさんのHPを
もう少ししっかり読んでみます。。
> 7.2系列(それ以前もだと思う)は
> 数値型フィールドに対して、NULL文字列の代入が可能ですが
> 7.3系列は
> 数値型フィールドへの、NULL文字列の代入がエラーになります。
> (NULLの代入はできます)
このNULL文字列って何なのでしょうか。。
7.2.1と7.3.2の環境で試したところ同じ結果だったもので。。
以下のようなテーブルを作って試して見ました。
【7.2.1の環境】
HOGE721=# \d null_test
Table "null_test"
Column | Type | Modifiers
----------+---------------+-----------
clm_char | character(5) |
clm_num | numeric(10,0) |
NULLっていう文字を投入
HOGE721=# INSERT INTO null_test(clm_char, clm_num) VALUES(NULL,NULL);
INSERT 1118135 1
''で投入
HOGE721=# INSERT INTO null_test(clm_char, clm_num) VALUES('','');
ERROR: Bad numeric input format ''
' 'スペース一つを投入
HOGE721=# INSERT INTO null_test(clm_char, clm_num) VALUES('',' ');
ERROR: Bad numeric input format ' '
【7.3.2の環境】
HOGE732=# \d null_test
Table "public.null_test"
Column | Type | Modifiers
----------+---------------+-----------
clm_char | character(5) |
clm_num | numeric(10,0) |
NULLっていう文字を投入
HOGE732=# INSERT INTO null_test(clm_char, clm_num) VALUES(NULL,NULL);
INSERT 17050 1
''で投入
HOGE732=# INSERT INTO null_test(clm_char, clm_num) VALUES('','');
ERROR: Bad numeric input format ''
' 'スペース一つを投入
HOGE732=# INSERT INTO null_test(clm_char, clm_num) VALUES('',' ');
ERROR: Bad numeric input format ' '
pgsql-jp メーリングリストの案内