我想在php中运行以下sql代码并将结果存储在变量中:
declare @d1 datetime, @d2 datetime
select @d1 = '9/9/2011', @d2 = '9/18/2011'
select datediff(dd, @d1, @d2) - (datediff(wk, @d1, @d2) * 2) -
case when datepart(dw, @d1) = 1 then 1 else 0 end +
case when datepart(dw, @d2) = 1 then 1 else 0 end
任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
使用PHP,您不会使用'声明'声明。您可以使用变量来定义所需的日期。让我们说你明确知道你想要使用' 9/9/2011'作为d1和' 9/18/2011'作为d2(我还假设您使用的是Postgres,但pgsql可以更改您的DBMS引擎)
$dbConnection = new PDO('pgsql:host=<db_host>;dbname=<db_name>;user=<db_username>;password=<db_password>');
$d1 = '9/9/2011';
$d2 = '9/18/2011';
$query = "select datediff(dd, :date_one, :date_two) - (datediff(wk, :date_one, :date_two) * 2) -
case when datepart(dw, :date_one) = 1 then 1 else 0 end +
case when datepart(dw, :date_two) = 1 then 1 else 0 end";
$statement = $dbConnection->prepare($query);
$statement->bindParam('date_one',$d1);
$statement->bindParam('date_two',$d2);
$statement->execute();
$results = $statement->fetch();
尝试一下。如果不确切知道你要在这里完成什么或者你知道什么级别的PHP / SQL,这至少是一个起点。