perl在sql语句中使用变量的问题

perl在sql语句中使用变量的问题

#!/usr/bin/perl
use strict;
use DBI;
$day_time=`date +'%F %R'`;
$dbh=DBI->connect($dsn,$user,$passwd,{
                  RaiseError => 0,
                  AutoCommit => 0,
                  PrintError => 1}
                  );
my $sql="select DATE_SUB('$day_time',INTERVAL 24 hour)";
$sth=$dbh->prepare($sql);
$sth->execute();
while ( my $hour=$sth->fetchrow_array()){
print "$hour";
}
$sth->finish();
$dbh->disconnect;
为什么我在查询语句中带入一个日期加时间的变量,就无法执行,哪味以前做过类试的操作吗
$day_time=`date +'%F %R'`;
引号不对.

事实上, 输出下sql就能发现.
没问题啊 我也测试过了 正常啊
我现在解决了 是因为如果在DATE_SUB里,减去多少小时的时候,时间后面要加到秒
我上面的变量中没有带秒,所以没有反应.不过我在mysql里测试,如果直接带时间的话就会正常.

select DATE_SUB('2007-10-25 08:00',INTERVAL 24 hour);
+-----------------------------------------------+
| DATE_SUB('2007-10-25 08:00',INTERVAL 24 hour) |
+-----------------------------------------------+
| 2007-10-24 08:00:00                           |
+-----------------------------------------------+