希望在这方面能得到一些帮助,因为现在已经是凌晨了,我的大脑还没有处于完全工作状态。
以下 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/