同じことをしているように見える2つの異なる論理演算子(<=&!>)があるのはなぜですか?一方が他方よりも優先される状況はありますか?
6 に答える
<=および>は比較演算子であり、論理演算子ではありません。!は論理演算子です(NOTを意味します)。組み合わせると!>、あなたは単に比較演算子を逆にしているので、あなたの最終結果は同じです。
そうは言っても、<=が一般的な形式なので、他に何もないとしても読みやすさのために、それが好ましいと思います。どちらにもパフォーマンス上のメリットがあるかどうかはわかりませんが、疑問です。
編集:また、あなたはあなたが扱っているSQLのフレーバーを言いませんでした。@harryoversが指摘しているように、これはMS-SQLの有効な演算子ですが、どこでも機能するとは限りません。
なぜ一方を他方に使用するのかわかりませ!>
んが、ISO規格には含まれておらず、それに基づいて、それ<=
が好ましい方法であると言えます。
!>代替を使用する理由の1つは、SQLをXML内に簡単に配置できるようにすることです。より小さい記号はXMLタグを導入します。<を含むSQLがXMLまたはHTMLのいずれかに含まれている場合は、&LT;としてエスケープする必要があります。大なり記号の前に小なり記号が付いていない限り、特別な意味はありません。
!=
、、!<
およびは標準の!>
比較演算子ではなく、少数のシステムでのみサポートされています。SQL-Serverは次の1つです。msdn:比較演算子(Transact-SQL)。MySQLもサポートしています!=
が、それだけで、他の2つはサポートしていません。
同等の標準SQL比較演算子は、、<>
および>=
です<=
。
すべての状況で、私は標準を好みます。コードをいつ別のプラットフォームに移行する必要があるのかわかりません(そして、処理するエラーが少なくなります)。
いいえ、違いはありません。私が考えることができる唯一の理由は、特定のコンテキストでそれをより人間が読めるようにすることです。
たとえば、コンテキストで何らかの制限を表す5に重要性がある場合では< 5
なく、同じ理由で使用します。<= 4
あなたが論理演算子を論理的であるAND
と言うとき、OR
私は見たことがありません!>私は見ました<>
あなたが参照している場合!=
、<>
それらは同じです。