将vb短日期传递(或转换)到sql 101

将vb短日期传递(或转换)到sql 101,sql,datetime,reporting-services,date-conversion,Sql,Datetime,Reporting Services,Date Conversion,我有一份SSRS报告,你可以点击它来深入查看关于一个单元格的更多细节。为此,当您单击一个单元格时,它会传递一些参数,这些参数将填充另一个报表中的SQL语句 它传递的参数之一是短日期,mm/dd/yyyy。我的问题是当月份或日期没有两位数时。所以 短日期=2013年1月1日 SQL 101格式=01/01/2013 当短日期被传递时,它与SQL版本不完全匹配,因此它在应该的时候找不到任何记录 这将不返回任何内容: 其中转换(char(10),dt.DATE_CREATED,101),如“2013年

我有一份SSRS报告,你可以点击它来深入查看关于一个单元格的更多细节。为此,当您单击一个单元格时,它会传递一些参数,这些参数将填充另一个报表中的SQL语句

它传递的参数之一是短日期,mm/dd/yyyy。我的问题是当月份或日期没有两位数时。所以

短日期=2013年1月1日

SQL 101格式=01/01/2013

当短日期被传递时,它与SQL版本不完全匹配,因此它在应该的时候找不到任何记录

这将不返回任何内容:

其中转换(char(10),dt.DATE_CREATED,101),如“2013年1月1日”

但是,这将返回我需要的所有行:

其中转换(char(10),dt.DATE_CREATED,101),如'01/01/2013'


我的问题是我需要在SSRS中添加这些零的转换…

您应该能够使用VB函数
DateTime.Parse

DateTime.Parse(Fields!yourValue.Value)
这解决了我的问题:
convert(char(10),dt.DATE\u CREATED,101)=convert(datetime,@day)

您使用的是什么数据库平台?您应该只将日期类型存储为数据库中的日期类型,而不是字符串。:-)它们存储为日期-时间,但会为用户转换为mm/dd/yyyy格式。当SSRS将此值传递给新报告时,它将其作为字符串传递。您在哪里转换为mm/dd/yyyy?在SQL查询中?