php - 如何将 CURRENT_DATE() 函数与具有指定格式字符串的学说 2 一起使用?

标签 php mysql doctrine-orm

我不知道如何设置指定的日期格式以使用 CASE WHEN 进行查询。我尝试做的是创建一个如下所示的选择。

$qb -> select('
              CASE WHEN ps.paymentDate >= (new \DateTime(\'%Y-%m-01\')) THEN \'true\' ELSE \'false\' END as myVar
');

我在互联网上寻找解决方案,但还没有找到。我是否思考了整个问题?

mysql 中以前的代码如下所示:

IF(ps.payment_date >= DATE_FORMAT(CURDATE(),\'%Y-%m-1\'),\'true\',\'false\') as myVar   

最佳答案

像这样,

$d = new \DateTime();
$sd = $d->format('Y-m-01');
$qb -> select("CASE WHEN ps.paymentDate >= '$sd' THEN 'true' ELSE 'false' END as myVar");

或者

$q = "IF(ps.payment_date >= DATE_FORMAT(CURDATE(),'%Y-%m-01'),'true','false') as myVar";

注意:如果在双引号字符串文字中使用单引号,则可以省略所有那些只会迷惑眼睛的转义字符。此外,$variables 会在双引号字符串内自动展开。

关于php - 如何将 CURRENT_DATE() 函数与具有指定格式字符串的学说 2 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834849/

相关文章:

php - key '0' 的重复条目 'PRIMARY' key 设置为 AI 并且在查询中未提及

php - 如何从数据库PHP中的两个表中随机选择列

mysql - 当我添加分页排序时,Symfony 创建了错误的 SQL

php - 有条件地使 WooCommerce 产品不可购买

php - 未知 : Failed opening required '0ff' (include_path ='.:/tmp:/usr/lib/php:/usr/local/lib/php' ) in Unknown on line 0

php - 在 Wordpress 中按日期分组帖子

mysql - 当当前年份更改时,将 mysql 触发器中的自动增量重置为零

mysql - 索引如何工作以查找特定索引列的 MIN() 或 MAX() 值并在以下情况下对表进行排序?

Symfony2 : missing an assigned ID

php - Doctrine 自动递增起始值 @ORM\GeneratedValue