У меня есть таблица, хранящаяся в базе данных SQL Server. Одно из полей таблицы имеет тип DATETIME
. У меня также есть ASP Calendar
, дата которого сравнивается с DATETIME
, зарегистрированным в базе данных.Сравните только DATE в поле DATETIME из кода ASP.NET
Проблема в том, что я не хочу сравнивать время. Необходимо сравнивать только даты. Что такое SQL-запрос для этого.
Это то, что я использовал:
SqlCommand myCommand = new SqlCommand("
SELECT AUDIT.AUDIT_DETAILS, USERS.USER_NAME, AUDIT.DATE_TIME, IP
FROM USERS JOIN AUDIT ON (USERS.USER_ID = AUDIT.USER_ID)
WHERE USERS.USERS_NAME LIKE '%"+TextBox1.Text+"%' AND CONVERT(VARCHAR(10),AUDIT.DATE_TIME,110) like "+Calendar1.SelectedDate.Date+"'%'", conn);
Я получаю правильный вывод в проводнике SQL Server, но при запуске из браузера через asp.net результат запроса пуст
Можете ли вы показать в каком формате вы тестируете в проводнике SQL Server и в каком формате это ваш Calendar1.SelectedDate.Date? Может быть, проблема в формате даты. –
Я тоже так думаю. Я на самом деле не указал какой-либо формат. Как сделать их обоими в том же формате. –
Вы можете поместить Calendar1.SelectedDate.Date в какой формат SQL нужен как этот Calendar1.SelectedDate.Date.ToString («format»), где вместо формата вы должны написать формат, который вам нужен, например, dd/MM/yyyy или yyyy/MM/dd –