Перед нами стоит проблема, когда мы пытаемся выбрать записи из таблицы между двумя датами.Выбрать Между двумя датами в sql
Таблица структуры/типы данных:
Slno (int, notnull, IsIdentity(yes)) Name (string(50)) StartDate (datetime) EndDate (datetime)
Образец данных:
Slno Name StartDate EndDate 1 ABC 2017-02-17 00:00:00.000 2017-02-25 00:00:00.000 2 ABD 2017-02-15 00:00:00.000 2017-02-25 00:00:00.000 3 ABD 2017-02-17 00:00:00.000 2017-02-17 00:00:00.000 4 ABD 2017-02-14 00:00:00.000 2017-02-18 00:00:00.000 5 ABD 2017-02-17 00:00:00.000 2017-02-20 00:00:00.000
Мы попытались запустить ниже SQL-запрос:
select * from dbo.XYZ where (getdate() between StartDate and EndDate)
Выход составляет:
Slno Name StartDate EndDate 1 ABC 2017-02-17 2017-02-25 2 ABD 2017-02-17 2017-02-20
Мы не получаем другие три ряда. Что я делаю не так?
Какие типы данных являются startDate и EndDate? –
'Slno' = 2 имеет' StartDate' = 2017-02-15 и 'Enddate' = 2017-02-25. Это опечатка в вашем выпуске? Кроме того, добавьте вывод 'getdate()', люди могут рассмотреть этот вопрос в будущем. – HoneyBadger
Типы данных startDate и EndDate - это дата и время. – user3128590