gpt4 book ai didi

php - 如何在使用 mysql php 查询别名列之间运行

转载 作者:行者123 更新时间:2023-11-30 21:55:25 25 4
gpt4 key购买 nike

我正在研究一个搜索表单,用户可以选择从到的年龄。然后根据搜索显示结果。

我的表有这些(name、dob、emailid、mobileno)列

这是我的问题

SELECT name,dob, YEAR(CURDATE()) - YEAR(dob) AS age AND age (BETWEEN '25' AND '30') FROM users

在这里,我可以根据 dob(DateofBirth) 获取年龄,但无法在查询之间运行...

怎么做?我是不是漏掉了什么?

请帮助我。

提前致谢

最佳答案

除了查询中的一些语法错误外,主要问题是:您不能在 SELECT 列 中使用别名 - 您的查询的一部分在 WHERE 中-部分。这与 SQL 在 SELECT 列 之前执行 WHERE 这一事实有关。只需将您的公式也包含在 WHERE 部分:

SELECT 
name,
dob,
YEAR(CURDATE()) - YEAR(dob) AS age
FROM users
WHERE YEAR(CURDATE()) - YEAR(dob) BETWEEN '25' AND '30'

旁注:看看问题 How to calculate age (in years) based on Date of Birth and getDate()因为您的公式并不总是给出正确的结果(例如,对于出生日期“2000 年 12 月 1 日”和当前日期“2017 年 7 月 29 日”,它返回 17,而它应该是 16)

关于php - 如何在使用 mysql php 查询别名列之间运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com