当前位置: 首页 > 面试题库 >

在Rails4中将数据库从sqlite3切换到mysql时出现strftime错误

曹驰
2023-03-14
问题内容

最近我将数据库从sqlite3更改为mysql。运行项目时,我在使用此查询的文件之一中遇到此错误。

日期= Date.today +1

@employees = Employee.where(“状态=?AND strftime(’%d
/%m’,date_of_birth)=?”,“活动”,date.strftime(’%d /%m’)

ActionView::Template::Error (Mysql2::Error: FUNCTION hrms_development.strftime does not exist: SELECT COUNT(*) FROM `employees` WHERE (status = 'Active' AND strftime('%d/%m', date_of_birth) = '28/03')):

    210:

    211:               <% date = Date.today %>

    212:              <% @employees = Employee.where("status = ? AND strftime('%d/%m', date_of_birth) = ?", "Active" , date.strftime('%d/%m')) %>

    213:             <% if @employees.empty? %>

    214:

    215:             <%else%>

    216:               <% @employees.each do |e| %>

  app/views/home/_group_admin.html.erb:213:in `_app_views_home__group_admin_html_erb___2522183600721478262_91627100'

  app/views/home/index.html.erb:17:in `_app_views_home_index_html_erb__2772204906267359422_86967120'







ActionView::Template::Error: Mysql2::Error: FUNCTION hrms_development.strftime does not exist: SELECT COUNT(*) FROM `employees` WHERE (status = 'Active' AND strftime('%d/%m', date_of_birth) = '28/03')

问题答案:

只需替换一下即可尝试一下,

<% @employees = Employee.where("status = ? AND strftime('%d/%m', date_of_birth) = ?", "Active" , date.strftime('%d/%m')) %>

<% @employees = Employee.where("status = ? AND DATE_FORMAT(date_of_birth,'%d/%m') = ?", "Active" , date.strftime('%d/%m')) %>


 类似资料:
  • 我是拉威尔的新手,需要帮助。当我点击

  • 我是php的初学者,对于一个项目,我想把我和数据库连接起来,但问题是: 我需要4个变量: 当我这样做时: 有两个错误: 警告:mysqli::mysqli():php_network_getaddress:getaddrinfo失败:第21行/home/ubuntu/workspace/index.php中的名称或服务未知 而且 警告:mysqli::mysqli():(HY000/2002):p

  • 我试图将python连接到mysql数据库,但它为。我使用的是 linux 操作系统。 这是我的代码: 这就是错误。 回溯(最近的最后一次调用):文件"/home/Sandytom/. loc/lib/python3.6/Site e-的包/mysql/连接器/connection_cext.py",第216行,在_open_connection中。_cmysql.connect(**cnx_kw

  • 我想创建一个简单的容器,其中包含一个带有初始化数据库的MySQL服务器。我的Dockerfile目前如下所示: 但是,当我通过我得到以下错误: 当我注释要创建数据库的行时(

  • 我正在创建一个小网站,在其中我实现了贝宝RESTAPI来处理信用卡结账。 现在的问题是,它使用沙盒凭据工作正常...但是当我切换到实时凭据时,它会给出以下错误: 致命错误:未捕获异常“PayPal\exception\PPConnectionException”,消息“访问时获取Http响应代码401”https://api.paypal.com/v1/payments/payment.重试0次。

  • 我使用的是mysql版本14.14。我创建了一个mysql表,其属性为id、image_name和myimage。 表"unstruct_tab1"说明 “我的图像”是一个保存图像位置的列。正在尝试使用以下语法插入图像位置。 以上语法出现以下错误: 错误1064 (42000):您有一个错误,在您的SQL语法;检查手册,对应于您的MySQL服务器版本的正确语法使用附近'(散装'Linux位置...