IsNull в sybase где статья

Вопрос:

Я использую vb6 front end и sybase в качестве backend. Могу ли я использовать IsNull в том месте, где я должен использовать = NULL

SQLStr = "select distinct thrd_pty.id_thrd_pty, thrd_pty.name_thrd_pty, thrd_pty.nbr_tax_idtn " _
& "from thrd_pty, cntct_rltn, cntct " _
& "where cntct.id_cntct = '" & cntct(ColNum, CurThrdPty) & "' and cntct_rltn.id_super = cntct.id_cntct and cntct_rltn.name_super = 'cntct' and thrd_pty.id_thrd_pty = cntct_rltn.id_thrd_pty and cntct_rltn.dt_eff_end IsNull "

Лучший ответ:

Обычный синтаксис в Sybase — это либо AND cntct_rltn.dt_eff_end IS NULL (что отлично подходит для вашего примера), либо ISNULL(cntct_rltn.dt_eff_end, 0) для более сложного материала, где вы хотите заменить значение null значением по умолчанию. Но вы можете сделать любой из follownig в ASE 15:

Adaptive Server обрабатывает нулевые значения по-разному, в зависимости от используемых вами операторов и типа значений, которые вы сравниваете. В общем случае результатом сравнения нулевых значений является UNKNOWN, так как невозможно определить, равен ли NULL (или не равен) заданному значению или другому NULL. Следующие случаи возвращают TRUE, когда выражение представляет собой любой столбец, переменный или литерал или их комбинацию, которая оценивается как NULL:

  • выражение равно нулю
  • выражение = null
  • выражение = @x, где @x — переменная или параметр, содержащий NULL. Это исключение облегчает запись хранимых процедур с нулевыми параметрами по умолчанию.
  • выражение! = n, где n — литерал, не содержащий NULL, и выражение вычисляется как NULL. (источник)

(верхний регистр — мой, как предпочтение личного стиля)

В качестве дополнительной заметки вы также можете использовать функцию COALESCE() для обработки значений NULL, но в вашем случае использования ничего не добавит.

Справка:

Ответ №1

Использовать значение is null:

cntct_rltn.dt_eff_end null

Больше информации здесь

РЕДАКТИРОВАТЬ:

cQ = «update var1 = null». (может быть).cQ = «update var1 is null»????? — niru dyogi

Если вы обновляете, вы должны использовать оператор присваивания =. Вы можете использовать значение is null только при оценке условий (например, в приведенном примере).

Оцените статью
TechArks.Ru
Добавить комментарий