
No.2ベストアンサー
- 回答日時:
Oracle以外の主要なRDBMSは、空文字は有効な値、nullは不定な値です。
標準SQLも、後者です。
>oracleには、空文字は存在せず、すべてnull値として扱ってくれて非常に、わかりやすいです。
これはOracle以外のRDBMS利用者には、非常に紛らわしい仕様です。
標準SQLや多くのRDBMSの常識では、nullは「列名 is null」、「列名 is not null」でしかヒットしません。ところが、Oracleの場合、「列名=''」でもヒットしてしまいます。
No.1
- 回答日時:
たしかにプログラミングする立場からは使える値が入っていないという意味では同じなので分けている意味がわからないという感じなんでしょうね。
コンセプトの違いで優劣などはもちろんないのですが、
データ管理の視点では、NULLは「未定」、空文字は「決定(=明示的にないことを示す)」で区別して管理できるということだと思います。
結果、メンテナンス対象フィールドだと認識した場合、一律NOT NULL制約を掛けますし、必要があれば複合プライマリキーの要素としても使います。
おまけで、Oracleでは A || B はどちらかがNULL値でも値は残りますが、SQL Serverでは残らないので、それを利用してこんなこともします。
declare @t varchar(max);
select @t=isnull(@t+',','')+Field1 from TableA;
select @t;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 空文字 "" ですが 空文字の意味を教えてください。 3 2022/08/05 03:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Windows 10 bash の -z オプションがうまく動作しない原因を教えて下さい。 4 2023/03/22 18:04
- Excel(エクセル) ExcelのIF関数 2 2022/04/14 16:11
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- PHP ここで言う空文字の意味とは? 1 2022/08/05 16:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
NOT NULL制約がついた項目のUPD...
-
顧客データベースを作る場合、...
-
差し込み後、元データを変更し...
-
python コードについて(初学者...
-
イェイイェイイェイ イェイイェ...
-
for whichの使い方
-
英文読解
-
Word2007でアドインタブが表示...
-
誰か教えてください
-
フィルターかけた後、重複を除...
-
エクセルのxans.について
-
insertを高速化させたい
-
工事写真の電子納品
-
マイクラPC版のコマンドで効率...
-
VIEWの元のテーブルのindexって...
-
DEFAULT が設定できないのです
-
select文の書き方「半角カナ+...
-
Outlook 送受信エラー
-
AS400にてサブファイルレコード...
-
複数の重複するIDの最新のレコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるカラムを対象に、Nullと空...
-
NOT NULL制約がついた項目のUPD...
-
DB2 の SQL で NULL値を空文字...
-
AccessのSQL文
-
BULK INSERTについて
-
Excelの空文字判定について
-
WHERE カラム名 <> ''の意味
-
Access2000、2002でのテーブル...
-
移植性のあるSQLの書き方(改)
-
Accessのクエリについて教えて...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
SQLで特定の項目の重複のみを排...
-
エクセルで最後の文字だけ置き...
-
エクセルの関数について教えて...
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
for whichの使い方
-
INSERT文でフィールドの1つだ...
-
カーソル0件の時にエラーを発生...
おすすめ情報