首页 > 解决方案 > Coldfusion 服务器时间与 SQL 数据库服务器时间(问题)

问题描述

我有一个问题,我需要通过电子邮件、短信、应用程序等获得用户的回复,并且每种媒体都有自己的服务器时间。当这些时间仅相差 5-10 秒时,我就会遇到问题。

我一直在使用 ColFusion 的#now()#功能,但只是遇到了这些问题。我希望每个环境只引用一个标准化时间。我能想到的最好的是 SQL 数据库,因为它们都共享该资源?

我正在执行类似于以下内容的更新语句:

    UPDATE
    WENS.dbo.SMS_MESSAGES 
    SET sms_reply = <cfqueryparam cfsqltype="cf_sql_varchar" value="#firstwordmessage#" />
    <cfif LEN(firstwordmessage) neq LEN(msg)>, sms_reply_notes = <cfqueryparam cfsqltype="cf_sql_varchar" value="#msg#" /></cfif>
    , sms_reply_time = <cfqueryparam cfsqltype="cf_sql_timestamp" value="#now()#">

我想用某种 getdate() 函数替换 #now()#。

对此的任何帮助将不胜感激。

非常感谢!!!!

标签: sqlsql-serverdatetimecoldfusion

解决方案


无需根据 CF 服务器时间传递查询参数,只需调用 SQL Server 的 GetDate() 函数。

UPDATE WENS.dbo.SMS_MESSAGES 
SET sms_reply = <cfqueryparam cfsqltype="cf_sql_varchar" value="#firstwordmessage#" />
    <cfif LEN(firstwordmessage) neq LEN(msg)>
        , sms_reply_notes = <cfqueryparam cfsqltype="cf_sql_varchar" value="#msg#" />
    </cfif>
    , sms_reply_time = GetDate()

推荐阅读