【问题标题】:Add CURRENT_TIMESTAMP to variable before adding to database column在添加到数据库列之前将 CURRENT_TIMESTAMP 添加到变量
【发布时间】:2015-05-05 19:14:03
【问题描述】:

如何在要添加到数据库列的字符串之前直接添加时间戳。请参阅下文,了解我要完成的工作。

UPDATE My_TABLE
SET Admin_Notes = isNull(Admin_Notes,'') + CURRENT_TIMESTAMP + <cfqueryparam value="#ARGUMENTS.adminNotes#">
WHERE my_id = '5'

所以我要添加到字段的当前值,但在此之前我想添加一个时间戳。

【问题讨论】:

  • 您的问题是如何从 current_timestamp 获取时间?转换(时间,CURRENT_TIMESTAMP)?否则你所做的对我来说看起来不错
  • 我的问题是如何在 adminnotes 中的字符串前添加时间戳。当我返回并查看每个“adminNotes”条目之前的 Admin_Notes 内容时,会有一个时间戳。
  • UPDATE My_TABLE SET Admin_Notes = CONVERT (time, CURRENT_TIMESTAMP) + isNull(Admin_Notes,'')
  • @Denoteone - 旁注,小心连接。隐式转换可能会导致一些意想不到的事情发生。此外,出于多种原因,您确实需要开始对所有查询参数使用 cfsqltypes。您的另一个线程提到该列是类型nvarchar(max)。如果省略 cfsqltype,则该值中的任何 unicode 文本很可能会出现乱码,也可能会被截断。因此,如果存储 unicode 字符很重要,字段类型表明了这一点)您必须使用正确的 cfsqltype。

标签: sql sql-server coldfusion timestamp


【解决方案1】:

您可以使用datetimeformat(now(),'mask of your choice') 将当前日期和时间转换为字符串。您可能可以使用数据库功能做类似的事情。详细信息取决于您未指定的数据库引擎。

更好的方法是将 LastUpdatedWhen 字段添加到表中,并将日期和时间与 Admin_Notes 分开。

【讨论】:

  • 我同意将它们分开,并且我已经设置了另一个“Actions”表,但这是用于测试的,将在某些时候被删除,它只是为了加快审查速度。另外,我以前从未这样做过,所以我想我会问和学习。
猜你喜欢
  • 2020-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多