我有一个 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 ?
我有一个 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 ?
您可以将 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 脚本中使用。我做了格式化,但它的可读性较差。