sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo comparar fechas en SQL Server

Aquí hay un par de problemas. Cualquier campo de formulario que termine en _fecha es un criterio de validación de formulario. Por lo tanto, el campo del formulario debe cambiarse de nombre hasta la fecha y desde la fecha. A continuación, es bueno que intente desinfectar la entrada. cfqueryparam se usa para hacer eso. Por último, pero no menos importante, entre está un SQL más limpio Su consulta debería parecerse un poco a:

<cfif isDate(form.fromDate) AND isDate(form.toDate)>

    <cfquery name="qryUser_Activation_Events">
    SELECT * 
    FROM   user_activation_events
    WHERE  STATUS_CODE =1
    AND    event_date BETWEEN <cfqueryparam cfsqltype="CF_SQL_date" value="#form.fromDate#">
        AND DATEADD(d, 1, <cfqueryparam cfsqltype="CF_SQL_date" value="#form.toDate#">)
    ORDER BY ...
    </cfquery>

<cfelse>  
    <!--- Error handling goes here --->
</cfif>