Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So vergleichen Sie Daten in SQL Server

Hier gibt es ein paar Probleme. Jedes Formularfeld, das auf _date endet, ist ein Formularvalidierungskriterium. Das Formularfeld muss also in todate und fromdate umbenannt werden. Als nächstes ist es gut, dass Sie versuchen, die Eingabe zu bereinigen. cfqueryparam wird dazu verwendet. Last but not least, zwischen ist saubereres SQL. Ihre Abfrage sollte ungefähr so ​​aussehen:

<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>