Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como comparar datas no SQL Server


Há um par de questões acontecendo aqui. Qualquer campo de formulário que termine em _date é um critério de validação de formulário. Portanto, o campo do formulário precisa ser renomeado para data e fromdate. Em seguida, é bom que você esteja tentando higienizar a entrada. cfqueryparam é usado para fazer isso. Por último, mas não menos importante, entre é o SQL mais limpo Sua consulta deve se parecer um pouco com:
<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>