タグ付けされた質問 「null」

欠落、不明、または適用不可能なデータを表すために使用されるデータベースの概念。

8
なぜNULLを許可しないのですか?
データベース設計に関するこの1つの記事を読んだことを覚えています。また、NOT NULLのフィールドプロパティを持つべきだと言ったことを覚えています。しかし、なぜそうなのかは覚えていません。 私が考えることができるのは、アプリケーション開発者として、NULL および存在しないデータ値(たとえば、文字列の空の文字列)をテストする必要がないということだけです。 しかし、日付、日時、および時刻の場合はどうしますか(SQL Server 2008)。あなたは、いくつかの歴史的な日付またはボトムアウト日付を使用する必要があります。 これに関するアイデアはありますか?

8
最初の引数がNULLでなくても、SQL ServerはCOALESCE関数をすべて読み取りますか?
T-SQL COALESCE関数を使用していますが、最初の引数は実行された時間の約95%でnullになりません。最初の引数がのNULL場合、2番目の引数は非常に長いプロセスです。 SELECT COALESCE(c.FirstName ,(SELECT TOP 1 b.FirstName FROM TableA a JOIN TableB b ON .....) ) たとえば、c.FirstName = 'John'SQL Serverは引き続きサブクエリを実行しますか? VB.NET IIF()関数では、2番目の引数がTrueの場合、コードは3番目の引数を読み取ります(使用されなくても)。

3
PostgreSQLの複数列の一意制約とNULL値
次のような表があります。 create table my_table ( id int8 not null, id_A int8 not null, id_B int8 not null, id_C int8 null, constraint pk_my_table primary key (id), constraint u_constrainte unique (id_A, id_B, id_C) ); そして、私(id_A, id_B, id_C)はどんな状況でも明確になりたいです。したがって、次の2つの挿入はエラーになる必要があります。 INSERT INTO my_table VALUES (1, 1, 2, NULL); INSERT INTO my_table VALUES (2, 1, 2, …

9
NULLを使用する場合と空の文字列を使用する場合
主にMySQLとPostgreSQLに興味がありますが、一般的には次のように答えることができます。 空の文字列とNULLを区別するのに役立つ論理的なシナリオはありますか? 空の文字列を次のように保存するための物理ストレージの意味はどうなりますか? ヌル? 空の文字列? 別の分野? その他の方法で?


5
ALTER COLUMN to NOT NULLが大量のログファイルの増加を引き起こすのはなぜですか?
データ用にディスク上に4.3 GBを使用する64m行のテーブルがあります。 各行は約30バイトの整数列に加えて、NVARCHAR(255)テキスト用の可変列です。 data-typeのNULLABLE列を追加しましたDatetimeoffset(0)。 次に、すべての行でこの列を更新し、すべての新しい挿入でこの列に値が配置されるようにしました。 NULLエントリがなくなったら、このコマンドを実行して新しいフィールドを必須にしました。 ALTER TABLE tblCheckResult ALTER COLUMN [dtoDateTime] [datetimeoffset](0) NOT NULL その結果、トランザクションログサイズが大幅に増加しました。スペースがなくなるまで、6GBから36GBを超えました。 SQL Server 2008 R2がこの単純なコマンドでこのような大きな成長をもたらすために一体何をしているのか、誰にもわかりませんか?

7
人の名前がNullの場合、どのようにデータベースが破損しますか?
私はこの記事をBBCで読んでいました。ジェニファーヌルという名前の人物の物語と、飛行機のチケットの予約、ネットバンキングなどのオンラインデータベースの使用中に日々の問題にどのように直面しているかを説明しています。 私はデータベースに精通しておらず、あまり頻繁に使用しません。学習用のWebサイトを作成したとき、サーバー側のフォーム検証では正規表現を使用しました。私が覚えていることから、「Null」という名前を喜んで受け入れます。私はそれを試していないが。 この状況が発生する場合、誰かが技術を説明できますか?フォームの検証は単にやっているstring == NULLことですか?それでも私は考えていないNULL is same as "NULL"。

2
デフォルトでNULLまたはNOT NULLですか?
MySQLでは、フィールドが必須であることがわかっていない限り常にnullを許可Not Nullするか、フィールドにnullが含まれることがわかっていない限り常に使用する方が良いでしょうか?またはそれは重要ではありませんか? いくつかのDBMS Not Nullでは、可能な限り使用するように言っていますが、これは、Nullを許可するには、レコードごとにNullステータスを保存するために余分なビット(またはバイト?)が必要だからです
41 mysql  null 


3
ANSI SQLがSUM(行なし)をNULLとして定義するのはなぜですか?
ANSI SQL標準定義(章6.5、セット機能仕様)空の結果セット上の集約関数の次の動作: COUNT(...) = 0 AVG(...) = NULL MIN(...) = NULL MAX(...) = NULL SUM(...) = NULL 空のセットの平均、最小、最大は定義されていないため、AVG、MIN、MAXにNULLを返すことは完全に理にかなっています。 ただし、最後の1つは気になります。数学的には、空のセットのSUMは明確に定義されています0。基本ケースがすべての一貫性を保つため、加算の中立要素である0を使用します。 SUM({}) = 0 = 0 SUM({5}) = 5 = 0 + 5 SUM({5, 3}) = 8 = 0 + 5 + 3 SUM({5, NULL}) = NULL = 0 + 5 + …

1
NULLを含むセットでNOT INが常にFALSE / NULLを返すのはなぜですか?
NOT IN場合によってはNULL値を返すサブクエリを含む句を含むクエリ(PostgresおよびInformix)があり、その句(およびクエリ全体)が何も返さないことがありました。 これを理解する最良の方法は何ですか?私NULLは値のないものと考えていたため、クエリが失敗することを期待していませんでしたが、明らかにそれは正しい考え方ではありませんNULL。


1
PostgreSQLの(x IS NOT NULL)vs(NOT x IS NULL)
なぜx IS NOT NULL等しくないのNOT x IS NULLですか? このコード: CREATE TABLE bug_test ( id int, name text ); INSERT INTO bug_test VALUES (1, NULL); DO $$ DECLARE v_bug_test bug_test; BEGIN RAISE NOTICE '%: %', v_bug_test, (v_bug_test IS NULL); RAISE NOTICE '%: %', v_bug_test, (v_bug_test IS NOT NULL); RAISE NOTICE '%: %', …
16 postgresql  null 

5
いずれかの列がNULLかどうかをテストします
私は、大きなテーブルの任意の列に少なくとも1つの空白(NULL /空)値があるエントリのリストがあるかどうかをテストするためにできる簡単なクエリを見つけようとしています。 私のようなものが必要です SELECT * FROM table AS t WHERE ANY(t.* IS NULL) やりたくない SELECT * FROM table AS t WHERE t.c1 = NULL OR t.c2 = NULL OR t.c3 = NULL これは巨大なクエリになります。

3
NULLを含むことができる列の比較-よりエレガントな方法はありますか?
次のコードのようなものを追加しないと、値をNULLと比較して結果を期待できないことを知っています... SELECT * FROM A INNER JOIN B ON A.ID = B.ID WHERE A.STRING <> B.STRING OR (A.STRING IS NULL AND B.STRING IS NOT NULL) OR (A.STRING IS NOT NULL AND B.STRING IS NULL) OR A.DT <> B.DT OR (A.DT IS NULL AND B.DT IS NOT NULL) OR (A.DT IS …
16 sql-server  null 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.