私はいくつかのプログラマでは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. は、なぜ我々は実行のShellExecute
- 2. は、SQLクエリは次のように我々は他のテーブル
- 3. SQLクエリは値を与えません
- 4. は、我々は
- 5. SQLクエリは時々
- 6. は、我々は
- 7. は、我々は
- 8. 我々はこのクエリをテキストなしにこのXQueryの
- 9. 我々は
- 10. 我々はアイデンティティプロバイダ
- 11. は、我々は、C#
- 12. 我々はJavascriptを/ jQueryの
- 13. Array_pushはSQLクエリから1つの値しか与えていませんか?
- 14. は、我々は我々のプロジェクトでサービスバスキューを使用している
- 15. 2行を与えるSQL SUM。私は1行したい
- 16. Javascript NANまたは0を与える簡単な計算
- 17. ルビで1 && 0が0のときに0 && 1が1になるのはなぜですか?
- 18. Androidは、我々はコンテンツビュー
- 19. は、我々はFacebookの
- 20. は、我々は変数
- 21. Browserbackボタンは、我々はディープリンク必要とする我々のアプリケーションのための
- 22. このmysqlクエリはなぜ私にガベージ結果を与えるのですか?
- 23. -1バイトを与えるNSOutputStream?
- 24. KNNのk = 1はなぜ最高の精度を与えるのですか?
- 25. は我々が思う
- 26. 我々はここでオブジェクト
- 27. 我々はそれでブックマーク
- 28. 我々は動的プロキシ
- 29. 単純なSQLクエリを与えるグループ機能の無効な使用
- 30. なぜこのクエリは私に空のカーソルを与えていますか?
同じ効果でさらに簡単に: 'select * into Newtable oldtable ここで0' – Jpsy