Я разрабатываю одно веб-приложение, используя asp.net 2005 и Microsoft SQL Server 2008 . Мне нужна помощь для извлечения данных из базы данных между заданным диапазоном.
поле даты в моей таблице имеет тип VARCHAR (25), а сохраненный формат даты - дд-мм-гггг. когда я использую предложение Между в запросе SQL, тогда он не предоставляет все данные, то есть критерии даты, в которых предложение не работает нормально.
в то время как мои клиенты требуют, чтобы формат даты сохранялся как дд-мм-гггг и извлекал данные в соответствии с заданным диапазоном.
поэтому, пожалуйста, помогите мне с этим, что я должен делать в этом случае.
SQL-запрос:
@datefrom varchar(15), // parameter in the procedure
@dateto varchar(15)
set @sql = '';
set @sql = @sql + 'SELECT * FROM ven_timesheetreportmaster vtsrm WITH (nolock)
INNER JOIN ven_descriptionmaster_timesheet vdmts ON vdmts.description_id = vtsrm.description_id '
set @sql = @sql + ' WHERE vtsrm.entry_date BETWEEN ''' + @datefrom + ''' AND ''' + @dateto + ''' '
if ( @emp_id !='0')
set @sql = @sql + ' AND vtsrm.emp_id =' + @emp_id + ' '
В таблице ven_timesheetreportmaster
тип entry_date
представляет собой тип данных varchar
..
Если я передам значения,
@date from : 01-05-2011
@date to : 31-05-2011
показывает все значения в БД с апреля по сегодняшний день