我遇到了一个问题,我需要通过电子邮件、短信、应用程序等获得用户的回复,并且每个介质都有自己的服务器时间。当这些时间只有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((。
如有任何帮助,我们将不胜感激。
非常感谢!!!!
SQL Server为您提供了当前日期和时间的选择。它们描述如下:
https://learn.microsoft.com/en-us/sql/t-sql/functions/current-timestamp-transact-sql?view=sql-服务器-ver15
我一直更喜欢getdate()
,因为它最容易打字。
不需要根据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()