(Microsoft SQL Server Management Studio 17) AND / LIKE 运算符灰显
(Microsoft SQL Server Management Studio 17) AND / LIKE operators greyed out
我在 select 查询中使用 AND
/ LIKE
运算符时遇到问题。
它们似乎 变灰了 ,并且,例如,当执行 SELECT
包含一个或另一个或两个包含的查询时,没有记录是生成,即使记录确实存在于数据库中。
我已尝试检查权限、重新启动数据库实例 - 不确定此时如何进行。
我们将不胜感激。非常感谢。
编辑:
示例 1 - 如您所见,此查询显示了两个联接表,它为我提供了相关记录:
示例 2 - 一旦我使用 AND
运算符和 re-run 查询指定日期,就不会生成任何记录,如 none 存在。这是我遇到的问题。
你需要使用类似下面的东西
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 值的记录,这当然是不可能的。
没有LIKE predicate变灰的问题,我也有这个
您在 WHERE 谓词的 AND 运算符中定义了两个互斥条件 - 这肯定不会起作用。您需要在谓词中的互斥条件之间使用 OR 运算符,例如
WHERE <first predicate>
AND (Appointment.AppointmentDateTime ='20181102 10:00:00.000' OR
Appointment.AppointmentDateTime = '20181105 16:00:00.000')
我在 select 查询中使用 AND
/ LIKE
运算符时遇到问题。
它们似乎 变灰了 ,并且,例如,当执行 SELECT
包含一个或另一个或两个包含的查询时,没有记录是生成,即使记录确实存在于数据库中。
我已尝试检查权限、重新启动数据库实例 - 不确定此时如何进行。
我们将不胜感激。非常感谢。
编辑:
示例 1 - 如您所见,此查询显示了两个联接表,它为我提供了相关记录:
示例 2 - 一旦我使用 AND
运算符和 re-run 查询指定日期,就不会生成任何记录,如 none 存在。这是我遇到的问题。
你需要使用类似下面的东西
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 值的记录,这当然是不可能的。
没有LIKE predicate变灰的问题,我也有这个
您在 WHERE 谓词的 AND 运算符中定义了两个互斥条件 - 这肯定不会起作用。您需要在谓词中的互斥条件之间使用 OR 运算符,例如
WHERE <first predicate> AND (Appointment.AppointmentDateTime ='20181102 10:00:00.000' OR Appointment.AppointmentDateTime = '20181105 16:00:00.000')