Оператор неравенства Oracle: ¬ = - PullRequest
11 голосов
/ 16 февраля 2012

Oracle SQL предположительно имеет четыре оператора неравенства:

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

( Операторы PL / SQL немного отличаются. Они допускают ~= вместо ¬=. Но это здесь не имеет прямого отношения.)

В руководство включено предупреждение «Некоторые формы условия неравенства могут быть недоступны на некоторых платформах». Это относится как минимум к 4-му варианту ¬=. Этот синтаксис не работает для меня в Windows, Linux или Solaris.

Мои вопросы:

  1. Какие платформы поддерживают ¬=?
  2. Какие платформы, если таковые имеются, не поддерживают !=, ^= или <>? Стоит ли избегать одного из них, чтобы мой код был максимально переносимым?

Ответы [ 2 ]

10 голосов
/ 14 сентября 2012

Вот мое лучшее предположение относительно происхождения и доступности различных операторов неравенства:

  • <> - оригинал.Используется рядом языков (бейсик, паскаль и т. Д.).Вероятно, доступно на всех платформах.
  • != - от C и его производных (C, C ++, Java, C # и т. Д., Бла).Я ожидаю, что это доступно на всех платформах.
  • ¬= - Этот оператор, вероятно, доступен только на мэйнфреймах IBM.Я знаю, что это не поддерживается в HP-UX, как я только что попробовал.Близкий и дорогой моему сердцу.От языка PL / I (это заглавная буква «i», а не «1», хотя она представляет римскую цифру «один», и, следовательно, язык «pee ell one»). Я знал, что вы хотели это знать :-),Ублюдок IBM-пасынка ... хм, я имею в виду "восхитительную комбинацию" Фортрана, Алгола и легкого Кобола.PL / I был вторым компьютерным языком высокого уровня, который я выучил, и первым, который я использовал, зарабатывая на жизнь разработчиком программного обеспечения.С старых добрых дней, когда мужчины были мужчинами, женщины были женщинами, а компьютеры охлаждались водой.Разве это не верно, Иосия?(И еще десять баллов за тех, кто может определить, откуда эта линия!)
  • ^= - Я подозреваю, что это должно быть похоже на предыдущий оператор "только для IBM", что делает его "IBM-ish "оператор для использования на компьютерах, на которых отсутствует символ IBM" ¬ "(not).Вероятно, поддерживается на всех платформах.

FWIW Я всегда использую <>.Старые привычки, как старые программисты, умирают тяжело.: -)

2 голосов
/ 16 февраля 2012

Я всегда использую! =. Я не знаю о других, но! = Всегда работал для меня на Windows и Linux.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...