当前位置: 首页 > 知识库问答 >
问题:

错误:函数strftime(未知,没有时区的时间戳)不存在

杜俭
2023-03-14

我正在做一个网站,有一个预订功能。我想要一份我目前日期的预订清单。

def today
@vlts = Vlt.where("strftime('%d/%m/%Y', date_time) = ?", Time.now.strftime('%d/%m/%Y'))
end
<% @vlts.each do |vlt| %>
  <tr>
    <td><%= vlt.date_time %></td>
    <td><%= vlt.name %></td>
    <td><%= vlt.phone_no %></td>
    <td><%= vlt.no_ppl %></td>
    <td><%= vlt.message %></td>
    <td><%= link_to 'Edit', edit_vlt_path(vlt) %></td>
    <td><%= link_to 'Destroy', vlt, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

共有1个答案

后安民
2023-03-14

strftime是一个Ruby函数。不能在数据库查询中调用它。如果希望将两个时间戳作为查询中的日期进行比较,则需要使用SQL的函数,而不是Ruby的函数。

请参见如何比较PostgreSQL中datetime字段中的日期?

 类似资料:
  • 错误[42883]错误:函数datediff(未知,没有时区的时间戳,没有时区的时间戳)不存在提示:没有函数与给定的名称和参数类型匹配。您可能需要添加显式类型转换。职位:36

  • 问题内容: 最近,我已将Postgres从8.2迁移到8.4。当我运行我的应用程序并尝试登录时,出现这些错误 我已经通过执行这些to_date函数签入了我的postgres 它给我错误函数to_date不存在 当我在postgres 8.2中执行相同的查询时,我没有收到错误 请帮助我解决这些问题。 问题答案: 似乎它所需要的只是从时间戳到文本的转换,因为函数定义为:to_date(text,tex

  • 我在我的postgresql函数中添加nth月(2),但在执行时显示错误错误错误:运算符不存在:没有时区整数的时间戳提示:没有运算符匹配给定的名称和参数类型(s)。可能需要添加显式类型转换。查询:选择pi_datenthMonth||月:: 间隔

  • 返回我女巫是错误的。 但接下来的查询如下: 我看对日期

  • 从MariaDB转移到postgres-10后,我得到下面的错误我使用Django-orm 函数日期格式(带时区的时间戳,未知)不存在第1行:选择(日期格式(在,'%h%p')创建)为“以小时为单位”,求和(。。。 提示:没有与给定名称和参数类型匹配的函数。您可能需要添加显式类型转换。 谁能解释一下哪里出了问题。非常感谢。

  • 我正在使用转换到新时区UTC+3,这等于EAT时区,但Postgres(9.1)显示错误的时间 (默认时区为斯德哥尔摩) 如果将JodaTime与两个时区一起使用,则显示相同的正确结果“2015-01-13 10:40:00”。