Я хочу нарисовать диаграммы из ранее сохраненных данных датчиков из базы данных на основе дат начала и конечной даты, предоставленных пользователем. Я показываю значок календаря пользователя и дату начала по умолчанию (=DateAdd("d",-2,Today())
) и дату окончания сегодня (=DateAdd("d", 0,Today())
).Форматирование даты Время для SSRS (SQL Server 2008 R2)
Значок календаря показывает дату как 11.6.2016, но в базе данных дата сохраняется как 2016-06-11 00:00:05.217
. Если я использую следующий SQL-запрос, ничего не возвращается, но если я использую его в дизайнере запросов Visual Studio, то получаю ожидаемые данные. Какой был бы правильный синтаксис?
SELECT Timestamp, Value, FieldSensorName
FROM MeasurementTable
WHERE (FieldSensorName IN (@ReportParameterSensorName))
AND (Timestamp > CONVERT(varchar, @ReportParameterStartDate, 121))
AND (Timestamp < CONVERT(varchar, @ReportParameterEndDate, 121))
Я передаю выбранные имена датчиков (@ReportParameterSensorName
) из пользовательского интерфейса с несколькими списка выбора коробки.
Являются ли ваши параметры типами даты? Просто используйте 'Timestamp между @ReportParameterStartDate и @ ReportParameterEndDate' –
Да, это тип даты/времени и отметка времени между началом и концом. Я тестировал те же параметры с конструктором запросов, и там все нормально. – RotatingWheel
Если ваши параметры и столбец Timestamp являются типом даты/даты, вам не нужно преобразовывать типы или подходящие форматы. –