Jestem zdezorientowany i nie znalazłem w Google. Czy ktoś może mi powiedzieć Co to jest nazwa operatora Sql <>
?Jaka jest nazwa operatora SQL dla "<>"?
Odpowiedz
<>
nie jest równy, jest taki sam jak !=
To prawda, że są funkcjonalnie takie same. Jednak sposób, w jaki optymalizator SQL ich używa, jest bardzo różny. = /! = są po prostu obliczane jako true/false, podczas gdy <> oznacza, że silnik musi sprawdzić, czy wartość jest większa lub mniejsza niż, co oznacza więcej wydajności. Po prostu coś do rozważenia przy pisaniu zapytań, które mogą być drogie. –
Nie wierzę, że stwierdzenie jest poprawne, operatory są funkcjonalnie równoważne, <> nie jest kombinacją < and >, jest odrębnym operatorem sam w sobie, a nie równym. Dlaczego optymalizator miałby się przejmować, gdyby był większy lub mniejszy od wartości? wystarczy sprawdzić, czy to nie jest równe. – steoleary
Udowodniłem to w kilku przechowywanych procedurach, które mamy. Wszystko zależy od indeksów istniejących w tabeli. Kiedy używasz <>, wierzę, że silnik skanuje/szuka wszystkich wartości, które są większe lub mniejsze niż. Kiedy używamy! =, Po prostu idzie na wszystkie wartości, które nie są równe temu, co zdefiniowałeś. Widzieliśmy wzrost wydajności z 30 minut do 3 minut w kilku naszych procedurach tutaj. Ponownie, wszystkie środowiska/indeksy są różne, ale staramy się unikać używania operatorów <> w indeksowanych kolumnach, ponieważ nie są one SARGable. Zobacz: http://www.sql-server-pro.com/sql-where-clause-optimization.html –
To "nie równa się". Przejrzyj listę operatorów dla używanej bazy danych i znajdź odpowiednią sekcję (zwykle "operatory porównania"). Np
jest operator not equals
. Zastosowanie:
select *
from table
where foo <> 0
To nie Równe operator, ale mam zamiar być gadatliwy, aby moja odpowiedź pisał, bo nie weszły jeszcze wystarczająco dużo znaków.
<>
oznacza nie równa samo jak !=
sprawdza, czy wartości dwa argumenty są równe, czy nie, jeśli wartości są równe, to stanie się prawdą. (a <> b) lub (a! = b) jest prawdziwe.
- 1. Implementacja operatora <=> dla opcjonalnego dodania
- 2. Jaka jest różnica między! = I <> w serwerze sql
- 3. Jaka jest różnica między <%# %> i <%= %>?
- 4. Jaka jest różnica między "<>" a "! ="?
- 5. Przeciążanie operatora <i operatora> w tej samej klasie
- 6. Jaka jest nazwa dla tego typu operatorów: '+ =', '- ='
- 7. Jaka jest etymologia <*> z Applicative w Haskell?
- 8. Jaka jest różnica między robi wektor <vector<T...>> i grafika <vector<T> ...>
- 9. przeciążanie operatora << dla tablic
- 10. Przeciążenie operatora << dla tablic
- 11. Cele platformy Android SDK (dla sbt gen-android <platforma-target><nazwa-pakietu><name>)
- 12. Nazwa dla operatora logicznego A & (~ B)
- 13. Jaka jest różnica między zapytaniem NHibernate <> a QueryOver <>?
- 14. Jaka jest różnica między <a_element /> a <a_element xsi: nil = "true" />?
- 15. <%# %> vs <%= %>
- 16. Jaka jest różnica między DbSet <> a wirtualnym DbSet <>?
- 17. Jaka jest różnica między funkcjami <T, TResult> i Converter <Tinput, TOutput>?
- 18. Jaka jest nazwa soczewki odwróconej?
- 19. PL/SQL Znaczenie <<word>>
- 20. SQL: MIĘDZY vs <= and > =
- 21. SortedList <>, SortedDictionary <> i Dictionary <>
- 22. Szyny ERB <%- ... -%> vs. <% ... %>
- 23. Definicja pustej paczki <nazwa pakietu> (brak członków publicznych)
- 24. Jaka jest różnica między <T: Trait> Box <T> i & Trait/Box <Trait>?
- 25. XSLT: jaka jest różnica między <copy-of> i <apply-templates>?
- 26. Jaka jest różnica między "szablonem <class T>" i "szablonem <typename T>"?
- 27. Jaka jest różnica między <stdin> i <STDIN>?
- 28. Jaka jest różnica między <chrono> i <ctime>?
- 29. Jaka jest różnica między <% # Bind ("")%> i <% # Eval ("")%> w ASP.NET?
- 30. jaka jest różnica między <osgi: reference> i <osgi: service> na wiosnę DM
Zarówno <> jak i! = Są "nie równe" – beny23