(Microsoft SQL Server Management Studio 17) Операторы AND / LIKE выделены серым цветом - PullRequest
0 голосов
/ 01 декабря 2018

У меня проблемы с использованием операторов AND / LIKE в запросах на выборку.

Они кажутся серыми , и, например, при выполнении SELECT запрос, в котором есть один или другой, или оба включены, записи не генерируются, даже если записи существуют в базе данных.

Я попытался проверить разрешения, перезапустить экземпляр базы данных - не совсем уверен, как действоватьна данный момент.

Помощь будет принята с благодарностью.Большое спасибо.

example

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

Пример 1 - Как вы можете видеть, этот запрос показывает две соединенные таблицы, что дает мнесоответствующие записи:

example1

Пример 2 - После того, как я укажу дату с помощью оператора AND и повторно выполню запрос, никакие записи не создаются, как и не существует.Это проблема, с которой я столкнулся.

example2

Ответы [ 2 ]

0 голосов
/ 01 декабря 2018
  1. Нет проблем с тем, что предикат LIKE выделен серым цветом, у меня это тоже есть.

  2. Вы определили два взаимоисключающих условия в операторе AND в вашемГде предикат - конечно, это не будет работать.Вам нужен оператор ИЛИ между взаимоисключающими условиями в вашем предикате, например

    WHERE <first predicate>
      AND (Appointment.AppointmentDateTime ='20181102 10:00:00.000' OR 
           Appointment.AppointmentDateTime = '20181105 16:00:00.000')
    
0 голосов
/ 01 декабря 2018

Вам нужно использовать что-то вроде следующего

AND Appointment.AppointmentDateTime
IN ('20181102 10:00:00.000','20181105 16:00:00,000')

, и если вы ищете диапазон, вы можете использовать:

AND Appointment.AppointmentDateTime
BETWEEN '20181102 10:00:00.000' AND '20181105 16:00:00,000'

В данный момент вы запрашиваете одну записьс двумя значениями AppointmentDateTime, что, конечно, невозможно.

...