Как написать что-то подобное в SQLite? Как и необязательный параметр, если null не используется.Sqlite необязательный параметр
(@Year IS NULL OR @Year = DATEPART(year, Date)
Как написать что-то подобное в SQLite? Как и необязательный параметр, если null не используется.Sqlite необязательный параметр
(@Year IS NULL OR @Year = DATEPART(year, Date)
Вы могли бы сделать что-то вроде этого:
IFNULL(@Year, DATEPART(year, Date)) = DATEPART(year, Date)
IFNULL возвращает первый ненулевой аргумент. В этом случае запрос будет сравнивать @Year
с DATEPART(year, Date)
до тех пор, пока @Year
не имеет значения. Если он равен NULL, то он сравнивает DATEPART(year, Date)
с DATEPART(year, Date)
, что всегда будет правдой.
Редактировать: Отметьте, что DATEPART
не является родным методом SQLite (OP ссылается на него так, что это может быть обычная вещь, которую он использует). Натуральным решением является использование strftime("%Y", Date)
(спасибо @Jason!)
Прошу прощения, но разве этот код не работает? – everton