Perché ci sono due operatori logici diversi che sembrano fare la stessa cosa (< = &!), C'è qualche situazione in cui si preferirebbe uno sull'altro?sql utilizza "minore o uguale a" & "non maggiore di"
risposta
< = e> sono operatori di confronto, non operatori logici. ! è un operatore logico (significa NOT). Quando combini! e>, stai semplicemente invertendo un operatore di confronto, quindi il risultato finale è lo stesso.
Detto questo, < = è la forma comune, quindi direi che è preferibile, per la leggibilità se non altro. Non so se c'è un vantaggio in termini di prestazioni, ma ne dubito.
Modifica: Inoltre, non hai detto quale versione di SQL hai a che fare. Come sottolineato da @harryovers, si tratta di un operatore valido in MS-SQL, ma potrebbe non funzionare ovunque.
Per riferimento: http://beginner-sql-tutorial.com/sql-operators.htm – ddrace
Quando si dice operatori logici logica è AND
e OR
non ho mai visto!> Ho visto <>
Se lei si riferisce a !=
e <>
sono la stessa cosa.
http://msdn.microsoft.com/en-us/library/aa276867(v=SQL.80).aspx – harryovers
Mai usato ... strano non avrebbe mai saputo che avrebbe funzionato. Ancora non cambia il modo in cui funziona, solo un modo diverso di dare una pelle a un gatto, credo. – JonH
Non riesco a capire perché si utilizzerebbe l'uno sull'altro, ma lo standard !>
non è conforme agli standard ISO e in base a ciò direi che <=
è il metodo preferito.
No, non c'è differenza. L'unica ragione per cui riesco a pensare è di renderlo più leggibile in un certo contesto.
E.g. per lo stesso motivo, utilizzerei < 5
anziché <= 4
se c'era un significato per lo che rappresenta un limite nel contesto.
Il !=
, !<
e !>
non sono operatori di confronto standard e sono supportati solo da pochi sistemi, SQL-Server essere uno: msdn: Comparison Operators (Transact-SQL). MySQL supporta anche lo !=
ma solo quello, non gli altri due.
Gli operatori di confronto SQL standard equivalenti sono <>
, >=
e <=
.
In tutte le situazioni, preferirei lo standard. Non si sa quando è necessario migrare il codice su un'altra piattaforma (e avere meno errori da trattare).
Un motivo per cui l'alternaive!> Consente di semplificare l'inserimento di SQL all'interno di XML. Il segno meno che introduce introduce tag XML. Se SQL con uno < è incluso in XML o HTML, deve essere salvato come & LT ;. Un segno più grande del segno non significa nulla di speciale a meno che non sia stato preceduto da un segno meno che da un segno.
Personalmente, non ho mai visto '!>' Usato ovunque, in nessuna lingua. Quella sintassi valida è da qualche parte? –
No. Quando un RDBMS ha entrambi, sono equivalenti. –
http://msdn.microsoft.com/en-us/library/aa276867(v=SQL.80).aspx – harryovers