У меня есть простая страница поиска, которая ищет Контракт-сайт-инспекции из базы данных Sybase.
Имеет 3 переменные поля формы: -
<form name="inspections" action="" method ="post">
<!---a list of Sites where the Inspections occured --->
<select name="selectSitesList" id="selectSitesList" multiple >
<option value=""></option>
</select>
<input name="startDate" id="startDate" value="">
<input name="endDate" id="endDate" value="">
</form>
Когда в поле поиска задано значение startDate, по запросу не выбираются никакие результаты (например, -01/01/2001). Но если в поле поиска не указано значение startDate (т. Е. StartDate имеет значение NULL или пусто), все возможные результаты отображаются.
Запрос Sybase Select выглядит следующим образом: -
SELECT ins.Inspection_ID
, ins.SiteLoc_ID
, sl.SiteLoc_Name
, ins.Inspected_By
, ins.Inspection_Reason
, ins.Inspection_Comments
, ins.Inspection_Date
From INSPECTIONS ins
, SITELOCATION sl
Where ins.SiteLoc_ID = sl.SiteLoc_ID
<cfif IsDefined ("form.selectSitesList") AND rtrim(ltrim(form.selectSitesList)) NEQ "">
And ins.SiteLoc_ID in (#listqualify(form.selectSitesList,"'")#)
</cfif>
<cfif (IsDefined ("form.startDate") AND rtrim(ltrim(form.startDate)) NEQ "") and (IsDefined ("form.endDate") AND rtrim(ltrim(form.endDate)) NEQ "") >
And CONVERT(VARCHAR(8), ins.Inspection_Date, 112) Between '#DateFormat(form.startDate, 'yyymmdd')#' and '#DateFormat(form.endDate, 'yyymmdd')#'
<cfelseif IsDefined ("form.startDate") AND rtrim(ltrim(form.startDate)) NEQ "">
And CONVERT(VARCHAR(8), ins.Inspection_Date, 112) = '#DateFormat(form.startDate, 'yyymmdd')#'
</cfif>
Order By sl.SiteLoc_Name
, ins.Inspection_Date
Мне было интересно, если #DateFormat (form.startDate, 'yymmdd') # {2 y's} правильно вместо #DateFormat (form.startDate, 'yyymmdd') # {3 y's}
Использование CF-8.
Пожалуйста, помогите.