sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man jämför datum i SQL Server

Det finns ett par problem här. Alla formulärfält som slutar på _date är ett formulärvalideringskriterium. Så formulärfältet måste bytas namn på todate och fromdate. Därefter är det bra att du försöker sanera inmatningen. cfqueryparam används för att göra det. Sist men inte minst, mellan är renare SQL Din fråga bör se ut ungefär så här:

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


  1. Vilka är stegen i databasdesign?

  2. FLOSS UK vårkonferens

  3. PHP MySQLI Förhindra SQL-injektion

  4. Returnera alla filgrupper för den aktuella databasen i SQL Server