Как искать дату в SQL?

У меня есть система управления событиями, в которой я хочу,

Если мероприятие зарегистрировано на 5 дней (с 21 января 2009 г. по 26 января 2009 г.), тогда, если другой человек хочет зарегистрировать мероприятие в период с 22 января 2009 г. по 24 января 2009 г., он не позволит зарегистрироваться. Я хочу проверить это с помощью SQL-запроса, поэтому скажите, как я могу это сделать.

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
3
0
5 392
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

ВЫБРАТЬ *
ИЗ событий e
ГДЕ (@startDate МЕЖДУ e.startDate и e.endDate)
ИЛИ (@endDate МЕЖДУ e.startDate и e.endDate)
ИЛИ (@startDate <e.startDate И @endDate> e.endDate)

Найдите DATEDIFF в справке SQL.

Просто чтобы дополнить другие ответы, у вас есть хорошая статья о Как искать значения даты и времени с помощью SQL Server 2000

Он напоминает вам о том, как хранятся значения даты / времени (два типа данных даты / времени: datetime и smalldatetime)

Это также указывает на то, что Datetime и smalldatetime похожи на типы данных с плавающей запятой, float и real, в том смысле, что они являются приблизительными числами. Это означает, что значение, полученное из SQL Server, может отличаться от значения, которое было изначально сохранено.

Кроме того, он предупреждает о проектировщиках баз данных, которые не всегда правильно используют столбцы даты и времени. Во время разработки базы данных каждый столбец даты / времени должен быть идентифицирован с указанием, будет ли он хранить дату и время, только даты или только время.

Он закрывается с помощью практические вопросы по данным / времени.

У вас также есть хорошее описание DATEADD и DATEDIFF здесь.

Другие вопросы по теме