Попробуйте:
SELECT * FROM Employees
WHERE DATEADD(yyyy, DATEPART(yyyy, @Today)-DATEPART(yyyy, Birthday), Birthday) > @Today
AND DATEADD(yyyy, DATEPART(yyyy, @Today)-DATEPART(yyyy, Birthday), Birthday) < DATEADD(dd, @NumDays, @Today)
Если ваш make
является GNU-make и все определенные переменные содержат непробельный символ,
ifdef VAR1 && VAR2 && VAR3
можно записать как
ifneq ($(and $(VAR1),$(VAR2),$(VAR3)),)
В соответствующей заметке , вероятно, для функций и требуется версия 3.81 или более поздняя.
В случае, если некоторые определенные переменные могут быть пустыми строками, если мы подготовим следующие функции:
ifndef_any_of = $(filter undefined,$(foreach v,$(1),$(origin $(v))))
ifdef_any_of = $(filter-out undefined,$(foreach v,$(1),$(origin $(v))))
, то следующие условия:
ifdef VAR1 || VAR2
ifdef VAR1 && VAR2
могут быть записаны соответственно с использованием ] вызов функции:
ifneq ($(call ifdef_any_of,VAR1 VAR2),)
ifeq ($(call ifndef_any_of,VAR1 VAR2),)