创建所有乘客的列表(列出名字和姓氏)和说明他们是 child 还是成人的评论。注释字段的标题应为“年龄”,并且在运行查询时应该是正确的。 child 年满 18 岁。
SELECT firstname, lastname,
TRUNCATE((DATEDIFF(CURRENT_TIMESTAMP(), birthdate)/365),0) AS age
FROM Emp
WHERE IF TRUNCATE(((CURRENT_TIMESTAMP(), birthdate)/365),0)>= 18 CONVERT "Adult" ELSE "Child" ;
最佳答案
您应该将 if/else 逻辑移动到选定列的列表中。使用此类条件输出的(或有时是一种)正确方法是使用 CASE
表达式。
SELECT firstname,
lastname,
CASE
WHEN datediff(current_timestamp(), birthdate) / 365 >= 18 THEN
'Adult'
WHEN datediff(current_timestamp(), birthdate) / 365 >= 0 THEN
'Child'
END
FROM emp;
关于mysql - 如何仅为查询更改数据单元格的值。我似乎无法翻译此查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52244742/