0

我有一个 SQL 命令,其中包含以下行,

HAVING
   DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y')
   - (DATE_FORMAT(NOW(), '00-%m-%d')
   < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) <= ". $v

$v$v是一个 PHP 变量,它$v - 10是一个整数,乘以 10 ?

4

1 回答 1

0

您可以将 having 语句移动到 select 子句,为其分配别名(例如计算值)并在 having 子句中使用别名。最终的 SQL 查询将如下所示:

  select 
      DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) calculatedValue
  from 
    candidates 
  having 
    calculatedValue <= 15 and calculatedValue > 5

您必须对其进行一些修改才能在 php 脚本中使用。我做了格式化,但它的可读性较差。

于 2011-11-17T15:43:15.263 回答