Передача (или преобразование) краткой даты vb в sql 101

У меня есть отчет SSRS, который вы можете щелкнуть, чтобы развернуть и просмотреть более подробную информацию о ячейке. Для этого, когда вы щелкаете ячейку, она передает параметры, которые заполняют инструкцию SQL в другом отчете.

Один из передаваемых параметров - короткая дата, мм / дд / гггг. Моя проблема в том, что месяц или день не имеют двузначных цифр. Так....

Краткая дата = 01.01.2013

Формат SQL 101 = 01.01.2013

Когда передается короткая дата, она не совпадает в точности с версией SQL, поэтому не находит никаких записей, когда нужно.

Это ничего не возвращает:

где convert (char (10), dt.DATE_CREATED, 101) как '1/1/2013'

НО, это возвращает все строки, которые мне нужны:

где convert (char (10), dt.DATE_CREATED, 101) как '01/01/2013'

Моя проблема в том, что мне нужно как-то сделать это преобразование добавления этих нулей в SSRS ...


person user2615372    schedule 04.12.2013    source источник
comment
Какую платформу базы данных вы используете?   -  person Steve Salowitz    schedule 05.12.2013


Ответы (2)


Вы должны иметь возможность использовать функцию VB DateTime.Parse

DateTime.Parse(Fields!yourValue.Value)

person Sam    schedule 04.12.2013

Это устранило мою проблему: convert (char (10), dt.DATE_CREATED, 101) = Convert (datetime, @day)

person user2615372    schedule 05.12.2013
comment
Вы должны просто хранить типы дат как типы дат в базе данных, а не строки. :-) - person Sam; 06.12.2013
comment
Они хранятся как дата и время, но для пользователя они конвертируются в формат мм / дд / гггг. Когда SSRS передает это значение в новый отчет, он передает его как строку. - person user2615372; 06.12.2013
comment
Где преобразовать в мм / дд / гггг? В запросе SQL? - person Sam; 06.12.2013