問題タブ [null]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - NULL でない限り、フィールド値は一意である必要があります
SQL Server 2005 を使用しています。
一意の値または NULL 値のいずれかを含める必要があるフィールドがあります。CHECK CONSTRAINT
これを aまたは aで強制する必要があると思いますTRIGGER for INSERT, UPDATE
。
ここでトリガーよりも制約を使用する利点はありますか (またはその逆)? そのような制約/トリガーはどのように見えるでしょうか?
または、私が考慮していない別のより適切なオプションはありますか?
sql - T-SQL ストアド プロシージャの NULL 入力値により、select ステートメントが失敗する
以下は、すべてのフィールドを個別にチェックすることに基づいて、データベースに重複するエントリがあるかどうかをチェックするためのストアド プロシージャです (なぜこれを行う必要があるかは聞かないでください。このようにする必要があります)。
それは完全に簡単に聞こえますが、SP は失敗します。問題は、SP に渡される一部のパラメーターが null 値を持つ可能性があるため、SQL は「= null」ではなく「is null」と読み取る必要があることです。isnull()、case ステートメント、coalesce()、および exec() と sp_executesql を使用した動的 SQL を試しましたが、これらのいずれも実装できませんでした。これがコードです...
linq - LINQ - null 整数データ フィールドを更新する
データ型がint?
価格のフィールドを取得し、設定時に null を許可する
更新すると、保存されず、例外がスローされません。値 # null を変更しても問題ありません。nullに設定したい。
c++ - memsetを使用してメモリへのポインタをNULLに設定する方法は?
私は構造を持っています
のアドレスを設定したいのですがp_my_t
、NULL
これまでのところ、これを実行しようとした方法は次のとおりです。
しかし、これは私には正しく見えません。これを行う正しい方法は何ですか?
質問の修正 - 根本的により複雑な質問をする:
これが私がやろうとしていることです:
- A と B の 2 つのプロセス
- Aのmalloc p_my_t、BにはN個のスレッドがあり、それにアクセスできます
- A で削除を開始しますが、B のスレッドがまだ使用している可能性があるため、単純に解放することはできません。
- したがって、関数を呼び出し、p_my_t のアドレスを B に渡して、そのアドレスを B で NULL に設定し、B の他のスレッドが使用できなくなるようにします。
- Bからコールバックした後、Aのメモリを解放します
注意: プロセス間の共有メモリを介してメモリ割り当てを管理する標準的な方法はありません。何が起こっているのかについて、かなり慎重に考える必要があります。
.net - nullは.NETでどのように表されますか
同僚と会話をしていると、ヌルの話題が出てきました。彼は、舞台裏の.NETではそれは本当に少数であると私に言っていました。オブジェクトにはヒープ上のメモリへのポインタがないだけだといつも思っていましたが、どちらの方法でもわかりませんでした。
だから私はコミュニティが私たちのためにそれを片付けることができることを望んでいます;P
sqlite - SQLite3: C++ で NULL 文字を含む BLOB を挿入する
カスタム設計されたプラグインを使用して、API と特定の SQL 構文を使用してさまざまなデータベース エンジンとやり取りする C++ API の開発に取り組んでいます。
現在、BLOB を挿入する方法を見つけようとしていますがNULL
、C/C++ では終端文字であるため、INSERT INTOクエリ文字列を作成するときに BLOB が切り捨てられます。これまで一緒に仕事をしてきた
SQLite3 のインタラクティブ コンソールでそれが可能であれば、適切にエスケープされた文字を使用してクエリ文字列を作成できるはずNULL
です。おそらく、SQLite SQL 構文でもサポートされている標準 SQL でこれを行う方法はありますか?
きっと誰かが同じ状況に直面したことがあるはずです。私はグーグルでいくつかの答えを見つけましたが、他のプログラミング言語(Python)でした。
フィードバックをお寄せいただきありがとうございます。
database - ユーザー入力を処理するときの NULL と空
はい、別の NULL と空の文字列の質問です。
NULL は設定されていないことを意味し、空の文字列は「空の値」を意味するという考えに同意します。ここに私の問題があります。列のデフォルト値が NULL の場合、ユーザーがその NULL を入力できるようにするにはどうすればよいですか。
システムで新しいユーザーが作成されたとします。姓と名のフィールドがあります。姓は必須ですが、名は必須ではありません。ユーザーを作成すると、最初と最後に 1 つずつ、2 つのテキスト入力が表示されます。その人は姓のみを入力することを選択します。名は技術的に設定されていません。挿入中に、各フィールドの長さをチェックし、空のすべてのフィールドを NULL に設定します。
データベースを見ると、名が設定されていないことがわかります。すぐに頭に浮かぶ疑問は、名前フィールドを見たことがない (つまり、エラーのため) ということです。しかし、そうではありません。空白の場合、彼らは去りました。
それで、私の質問は、ユーザー入力を受け取ったときに、フィールドを NULL または空の文字列に設定する必要があるタイミングをどのように決定するのですか? ユーザーがフォーカスを検出せずにフィールドを設定しないことを望んでいること、または値を削除したことをどのように知ることができますか...または...または...?
java - メソッドが null を返す可能性があるかどうかを示す方法
この質問を投稿してその質問を読んだ後、メソッドが null を返すことになっているかどうか、またはこれがエラー状態と見なされて例外をスローする必要があるかどうかを知ることが非常に重要であることに気付きました。'null'を返すか、例外をスローするかについても、適切な議論があります。
メソッドを作成していて、null を返すか、例外をスローするかは既にわかっています。私の決定を表現する、つまり契約を文書化する最善の方法は何ですか?
私が考えることができるいくつかの方法:
- 仕様/ドキュメントに書き留めてください(誰かがそれを読みますか?)
- メソッド名の一部にします(ここで提案したように)
- 例外をスローするすべてのメソッドが null を返すことはなく、スローを「しない」すべてのメソッドが null を返す可能性があると想定します。
私は主に Java について話していますが、他の言語にも当てはまるかもしれません: 例外がスローされるかどうかを表す正式な方法 (throws
キーワード) があるのに、null が返される可能性があるかどうかを表す正式な方法がないのはなぜですか?
なぜそのようなものがないのですか:
まとめと結論
契約を表現する方法はたくさんあります。
- IDE が (IntelliJ として) サポートしている場合は、 のような注釈を使用することをお勧めします。
@NotNull
これは、プログラマーに表示され、コンパイル時の自動チェックに使用できるためです。これらのサポートを追加するEclipse 用のプラグインがありますが、私にはうまくいきませんでした。 - これらがオプションでない場合は、
Option<T>
またはNotNull<T>
のようなカスタム タイプを使用して、明確さと少なくともランタイム チェックを追加します。 - いずれにせよ、JavaDoc でコントラクトを文書化することは決して悪いことではなく、時には役立つこともあります。
- メソッド名を使用して戻り値のnull可能性を文書化することは、私以外の誰も提案していません。非常に冗長で常に役立つとは限りませんが、それでも利点がある場合があると私は信じています。
c# - null のチェック、どちらが優れていますか? "null ==" または "==null"
Dupe: Null の違い
一生前に、次のものが等しくないことを説明する記事に出くわしました(c#で):
この記事では、より正確なテストが得られるため、後者が好まれたと説明しています。それ以来、私はそのようにコーディングしています。より多くのことを理解したので、正確な調査結果が何であるかを確認するために、記事またはそれに似た別の記事を探していましたが、この件に関するものは何も見つかりません.
考え?違いはありますか?一見ノーと言うでしょう。しかし、IL と C# のコンパイルの内部で何が起こるかは誰にもわかりません。