2012-02-16 7 views
11

Oracle SQL supposedly ha quattro operatori disuguaglianza:Oracle operatore di disuguaglianza: ¬ =

  1. !=
  2. ^=
  3. <>
  4. ¬=

(PL/SQL operators sono un po 'diverso Loro. consenti l'istanza ~= d di ¬=. Ma non è direttamente rilevante qui.)

Il manuale include l'avviso "Alcune forme della condizione di disuguaglianza potrebbero non essere disponibili su alcune piattaforme". Questo vale per almeno la quarta opzione, ¬=. Questa sintassi non funziona per me su Windows, Linux o Solaris.

Le mie domande sono:

  1. Quali piattaforme supportano ¬=?
  2. Quali piattaforme, se presenti, non supporto !=, ^= o <>? Vale la pena di evitare uno di quelli per garantire che il mio codice sia il più portatile possibile?
+0

Ovviamente l'ha visto, ha inviato una risposta per questo ... – Reid

+0

Il documento di riferimento a cui fai il link non menziona la quarta opzione. I primi 3 funzionano tutti comunque bene. –

+0

@JeffreyKemp Se si guarda "(Nota 1)": "il carattere ASCII con valore decimale 170". E se apri la versione PDF del documento (il link PDF in alto a destra della pagina) puoi vedere il personaggio a pagina 473. –

risposta

10

Ecco la mia ipotesi migliore per la derivazione e la disponibilità dei vari operatori di disuguaglianza:

  • <> - l'originale. Utilizzato da un numero di lingue (BASIC, Pascal, ecc.). Probabilmente disponibile su tutte le piattaforme.
  • != - da C e derivati ​​(C, C++, Java, C#, ecc. Blah). Mi aspetto questo è disponibile su tutte le piattaforme.
  • ¬= - Questo operatore è probabilmente disponibile solo su mainframe IBM. So che non è supportato su HP-UX come ho appena provato. Vicino e caro al mio cuore. Dalla lingua PL/I (che è 'i' maiuscola, non '1', sebbene rappresenti il ​​numero romano "uno", e quindi la lingua sia "pee ell one". Sapevo che volevi sapere che: -), Il bastardo di IBM figliastro ... ahem, intendo "deliziosa combinazione" di FORTRAN, Algol, e un tocco di COBOL. PL/I era il secondo computer di alto livello lingua che ho imparato e il primo che ho usato per guadagnarmi da vivere come uno sviluppatore di software. Dai Good Old Days, quando gli uomini erano uomini, le donne erano e i computer erano raffreddati ad acqua. Non è quello giusto, Josiah ..? (E dieci punti di credito in più per coloro che possono identificare da dove proviene quella linea!)
  • ^= - Ho il sospetto che questo è destinato a essere simile al precedente "IBM-only" operatore, rendendolo un "IBM-ish "operatore da utilizzare su computer che non hanno il carattere" ¬ "(non) di IBM . Probabilmente supportato su tutte le piattaforme.

FWIW Io uso sempre <>. Le vecchie abitudini, come i vecchi programmatori, muoiono duramente. :-)

+1

+1 per "pee ell one" :-) –

2

Uso sempre! =. Non so degli altri, ma! = Ha sempre funzionato per me su windows e linux.

+0

E anche su Solaris. – rMX

+1

... bene * nix ... – Reid

Problemi correlati