私はいくつかのプログラマでは1 = 0を使用して選択クエリの条件で、なぜ彼らはこの条件を使用して見てきました。なぜ我々はクエリsqlを与える1 = 0
答えて
これは、クエリが行を返さないようにするためだけに使用できます。私は時折、 "結果が見つかりません"というタイプのロジックをテストしました。
SQL Serverでは、あなたはすぐにこの
select * into Newtable
from Oldtable
where 1 = 0
のような任意のデータなしでテーブルのコピーを作成することができ、これは古いテーブルと同じ構造を持つ新しいテーブルを作成するには、
もう一つの選択肢であります空の結果セットを返す
私はいくつかのユーティリティがその構文を使用してテーブルに関するメタデータを収集するのを見てきました。彼らは、select * from sometable where 1=0
のようなクエリを実行して、データなしでテーブルから列を「効率的に」取得することができる。
はMySQLでは動作しません。それが「SHOW COLUMNS」の目的です。 – ceejayoz
@ceejayoz:情報をありがとう。私はMySQLについてそれを知らなかった。私は(明らかに間違って)空の結果セットを返すと仮定しましたが、空の結果セットはまだ列を持ちます。他のSQL実装でも動作します(少なくともいくつか)。 –
これは、値のチェックボックスリストに基づいてSQLを生成するときに、このコードで使用しました。私は、ユーザーが果実のリストから選択することができますたとえば、:
string sqlWhere = "select * from fruit where 1 = 0"
if (FruitList.Any()) {
sqlWhere += " or code in ("
foreach (Fruit in FruitList)
sqlWhere += string.Format("'{0}',");
/*Add the close parens*/
sqlWhere = sqlWhere.Substring(0,sqlWhere.Length-2) + ")";
}
:
りんご オレンジ 梨
を...そして、彼らはリンゴとオレンジを選択し、私の擬似コードは次のようになります
これは、ユーザーが選択した値のみを返します。果物を選択しない場合、結果は返されません。
*このコードではSQLインジェクションは考慮されていませんのでご注意ください。あなたの場合 - データベースへの接続がまだ開いていると、データベースがそうで健康であるかどうかをチェックする「ピング」として、このようなクエリを使用することができ
where 1 = 0
あなたのANDはORになる必要があると思います。 – ceejayoz
あなたはそうです。更新しました。 –
が表示される場合があります理由のほんの一例結果は得られませんが、何らかのエラーが発生した場合は問題があります。何らかの種類のシステムテーブルに対してクエリを記述します。あなたのデータベースによっては、PostgreSQLでもっと簡単なことができるかもしれません。ちょうどselect 1;
と言うことができます.Oracleでは、私はselect 1 from dual;
を見ました。あなたのデータベースがselectのフリーフロー表現を扱う能力を持たず、デュアルと同等のものを持っていなければ、select * from sometable where 0 = 1;
のようなことができます。
- 1. はなぜ我々は例えば、クラス
- 2. は、なぜ我々はループ
- 3. は、なぜ我々は実行のShellExecute
- 4. はなぜ我々はスパークセッションに
- 5. なぜ我々は(簡単に)
- 6. は、SQLクエリは次のように我々は他のテーブル
- 7. は、我々はまだ我々が
- 8. SQLクエリは値を与えません
- 9. 分割はループで0を与えます、なぜですか?
- 10. は、我々は
- 11. は、我々は
- 12. はなぜ我々は反応する-Reduxのを
- 13. 我々は1つのHTMLファイル
- 14. なぜ!(0 || 1 || 0)は0ですか?
- 15. SQLクエリは時々
- 16. 我々は
- 17. は、我々は
- 18. は、我々は
- 19. は、我々は
- 20. は、なぜ我々は、我々はタプル変数に大文字を持つことができないのはなぜScalaの
- 21. 我々はこのクエリをテキストなしにこのXQueryの
- 22. 我々は
- 23. 我々は
- 24. 我々はアイデンティティプロバイダ
- 25. 我々は
- 26. 我々は、HTTP
- 27. {xml_nodeset(0)}を与えるhtml_nodes
- 28. 我々はjavascriptの
- 29. なぜ我々は(tf.name_scopeを使っています)
- 30. は、我々は、C#
同じ効果でさらに簡単に: 'select * into Newtable oldtable ここで0' – Jpsy