我需要更新SQL查询中的当前时间

时间:2009-04-28 05:45:17

标签: ruby-on-rails ruby

使用Time.now或Time.now.to_s或Time.now.to_datetime会抛出错误。

使用Date.today无效,因为它将日期与时间存储为12.00 AM而不是当前时间戳。

请帮我解决这个问题。

5 个答案:

答案 0 :(得分:5)

我不确定为什么以及什么会引发错误,但如果您尝试从Ruby生成一个正确SQL的日期字符串(特别是Rails,请执行此处),您可以使用Time.now.to_s(:db)

答案 1 :(得分:2)

我使用CURRENT_TIMESTAMP来获取带有时间戳的当前日期。有效。

感谢您的帮助。

答案 2 :(得分:1)

您是否尝试过类型声明(在更新语句中使用 now()):

INSERT INTO table1 (field1, field2, field3, timestampfield) VALUES ('value1', 'value2', 'value3', now())

[编辑:]看一下“{(3)}的”now()“

答案 3 :(得分:1)

如需更新,请尝试以下内容:

UPDATE table1 SET mytime = now();

如果你想在插入时加上适当的时间,你可以选择另一个选项,只需将函数now()设置为datetime字段默认值。

答案 4 :(得分:1)

Time.now.to_formatted_s:db这应该给你db友好的时间戳。

http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Time/Conversions.html#M001093