将 SQL 函数作为值传递的正确方法

Correct way to pass in a SQL function as a value

我想在每次用户更新记录时更新记录的 DateUpdated 字段。

我想我应该这样做:

<cfquery>
UPDATE
dbo.MyTable
SET DateUpdated = <cfqueryparam value="GetDate()" />
</cfquery>

我不知道这是否正确。函数没有 cfsqltype 属性值。在这种情况下,我只是这样做吗

<cfquery>
    UPDATE
    dbo.MyTable
    SET DateUpdated = GetDate()
</cfquery>

第一个不起作用,因为您参数化了 SQL 函数名称,因此它会将 "GetDate()" 作为文字字符串传递。但是,如果您将 "GetDate()" 替换为“#Now()#”,它应该可以工作,因为您是从 ColdFusion 函数传递值。

第二个应该可以按原样工作。