В моем приложении Windows Form C # я вставляю запись в базу данных сервера SQL. Наряду с другими полями я также вставляю текущую дату и текущее время в следующем формате:
DateTime currentDate = DateTime.Now;
string SaleDate = currentDate.ToString("dd-MM-yyyy");
DateTime currentTime = DateTime.Now;
string SaleTime = currentTime.ToString("hh:mm:ss tt");
Работает нормально, и записи успешно вставляются в формате даты и времени, например .
Однако, когда я выбираю записи между двумя датами, я не могу выполнить эту операцию. Я уверен, что нет никаких проблем в этом пользовательском формате моей даты, потому что я редактировал один и тот же формат несколько раз, и даже я сохранил дату в ее формате по умолчанию, но я все еще не могу выбрать целевые записи (между двумя датами)
Я использую следующий запрос выбора в своем приложении для выбора записей в представлении vAllSales
, в результате чего выбираются либо все записи, либо записи, чья SaleDate не соответствует заданным критериям фильтра:
select * from vAllSales where SaleDate >= '20-04-2019' and SaleDate <= '30-04-2019'"
Я попытался также выполнить следующие запросы на моем SQL-сервере, чтобы проверить причину:
1
select * from vAllSales where SaleDate between '21-04-2019' and '09-05-2019'
Приведенный выше запрос не возвращает никакого значения. Как
2.
select * from vAllSales where SaleDate >= '21-04-2019'
Приведенный выше запрос выбирает только несколько записей. Поскольку 21-04-2019
является исходным SaleDate
, и запрос должен вернуть все Sales
, но он возвращает только несколько записей, например .
Есть ли проблемы с указанным форматом даты в моем коде? Или я должен работать над улучшением моих запросов? Мне нужен более профессиональный и надежный подход к этому делу.