Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да сравним датите в SQL Server

Тук има няколко проблема. Всяко поле на формуляр, което завършва с _date, е критерий за валидиране на формуляра. Така че полето на формуляра трябва да бъде преименувано на todate и fromdate. След това е добре да се опитвате да дезинфекцирате входа. cfqueryparam се използва за това. Не на последно място, между е по-чист SQL Вашата заявка трябва да изглежда малко като:

<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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инструкция PRINT в T-SQL

  2. Преобразувайте „smalldatetime“ в „datetime2“ в SQL Server (примери за T-SQL)

  3. Получаване на динамично генерирана обобщена таблица във времева таблица

  4. Как да разделите прозореца на заявката в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 13

  5. Как да разделя разделен низ в SQL Server, без да създавам функция?