Perl:带有 DATE_FORMAT 的 DBI SQL 错误

标签 perl dbi dancer

希望在这方面能得到一些帮助,因为现在已经是凌晨了,我的大脑还没有处于完全工作状态。

以下 SQL 语句有效并提供所需的输出,但在我的 perl 脚本中使用时,它返回以下错误。

 my $stmt = 'SELECT DATE_FORMAT(completion_time, '%m') as 'month', COUNT(id) as 'total' FROM calls WHERE DATE_FORMAT(completion_time, '%Y') = ? GROUP BY DATE_FORMAT(completion_time, '%m')';
 my $sth = database->prepare($stmt);
 $sth->execute(params->{year});

错误

Uncaught exception from user code:
        Unmatched ) in regex; marked by <-- HERE in m/) <-- HERE  as / at /home/dev/Dancer/lib/new.pm line 507.
Compilation failed in require at ./bin/app.pl line 4.

我正在使用 Dancer ,它是数据库插件,但它在应用程序中的其他任何地方都可以完美工作,因此这绝对是我的语法或 DATE_FORMAT 使用情况的问题,但我不确定,因为我今天之前没有使用过 DATE_FORMAT。

一如既往地感谢您的帮助,并提前感谢您。

最佳答案

看起来你的引用很困惑。

尝试这样的事情:

my $stmt = "SELECT DATE_FORMAT(completion_time, '%m') as 'month', ".
           "COUNT(id) as 'total' FROM calls WHERE ".
           "DATE_FORMAT(completion_time, '%Y') = ? ".
           "GROUP BY DATE_FORMAT(completion_time, '%m')";

关于Perl:带有 DATE_FORMAT 的 DBI SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736525/

相关文章:

perl - 如何写出或读入 Perl 散列的数组?

mysql - Perl - DBI - MySQL - 更新后获取行 ID 的简单方法?

perl - 如果我将一行中的两个 DBI 连接分配给一个变量会发生什么情况?

mysql - collectd - 如何安装 dbi 插件?

perl - 如何创建仅在一个请求期间全局的 'globally' 范围变量?

javascript - 舞者2 (Perl) : launching an external Program in the background

arrays - 哈希的键作为数组,匹配后将键值放入数组

perl - 使用 perl 将 apache 重新启动为 www-data

perl - 找不到输入文件时,如何最好地(惯用地)使 perl 脚本(使用 -n/-p 运行)失败?

perl - 如何为 Google 登录正确实现 Net::OpenID::Consumer 并请求用户的电子邮件?