かつのりの日記2

わんくまでは珍しいJavaを中心とした日記です

目次

Blog 利用状況

書庫

日記カテゴリ

いろいろリンク

Oracleで一つ勉強になった

Oracleって空文字列とNULLを区別できないんですね。知らなかった・・・。

NOT NULL項目なのに、意味的に必須ではないような項目があったので、空文字列を入れようとしていたのですが、、、なんで例外になるの・・・?という経緯で調べました。

これって元々SQL92では許されていなかったのですが、SQL99ではどっちでもいいって事になったみたいですね。オレオレ仕様のままシェアを取ってしまったので、結果として規格を捻じ曲げたとしか思えない・・・。

Oracle以外に慣れているので、とても不便に感じるのですが、オラクラーな人にとってはごく当たり前な話なんでしょうか。何で空文字列とNULLが別々なの?と。

投稿日時 : 2007年10月3日 23:59

Feedback

# re: Oracleで一つ勉強になった 2007/10/04 20:02 VOW

はじめまして。

DBはOracleしか触ったことない者です。
とくに不便に感じたことはないですね。

空文字列とNULLが別々ということは、見た目が空白のデータを検索するときは、
Where CODE IS NULL or CODE = ''
と条件いれて検索しなくてはならない?

そもそも、NOT NULL項目なのに必須じゃないというのが変な感じが・・・

# re: Oracleで一つ勉強になった 2007/12/14 21:10 K.Tomono

はじめまして。
googleで探したら、MySQLのマニュアルに↓こんな説明↓がありましたヨ。

どちらのステートメントも、値を phone カラムに挿入しています。しかし、最初のステートメントは NULL 値を挿入し、2 つ目は空文字を挿入しています。最初のステートメントは "電話番号が不明" であると考えることができ、2番目は"電話を持っていない" と考えることができます。


言葉のレトリック、ですかネ?

----

「A.5.3 NULL 値の問題」
http://www.tkadvance.com/database/mysql/manual/manual_14.html#SEC1196

オリジナル:※サイト自体は本家じゃないです
http://www.tkadvance.com/database/mysql/manual/manual_6.html
キャッシュ:※Googleの
http://72.14.235.104/search?q=cache:8_Fr-WzIKDoJ:www.tkadvance.com/database/mysql/manual/manual_6.html+Oracle+%E7%A9%BA%E6%96%87%E5%AD%97%E5%88%97+MySQL+%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9+NULL%E5%80%A4%E3%81%AE%E5%95%8F%E9%A1%8C&hl=ja&ct=clnk&cd=1&gl=jp

http://www.google.co.jp/search?hl=ja&q=Oracle+%E7%A9%BA%E6%96%87%E5%AD%97%E5%88%97+MySQL+%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9+NULL%E5%80%A4%E3%81%AE%E5%95%8F%E9%A1%8C&btnG=%E6%A4%9C%E7%B4%A2&lr=


以上、おせっかいでした。(^o^)``

# re: Oracleで一つ勉強になった 2007/12/15 15:13 かつのり

NULLと空文字列は別物ですからね。
何故同じなのか全く不明ですね。

# re: Oracleで一つ勉強になった 2022/05/19 18:05 okbet sports

Hi, I wanted to take this opportunity to tell you all a few things you might want know. People now is growing to many sources. Either through their skills or strategy depending on how determined you are. How about doing this at the same time? Have fun, have your own strategy and earn. You might be one of our asset. Here:

タイトル
名前
Url
コメント