mysql - 如何仅为查询更改数据单元格的值。我似乎无法翻译此查询

标签 mysql sql

创建所有乘客的列表(列出名字和姓氏)和说明他们是 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/

相关文章:

mysql - SQL 查询 : Can I get different row values and display it as different columns when testing query?

php - 我可以在 PHP 中混合使用 MySQL API 吗?

PHP MYSQL 最简单的用户搜索技术与排序结果

mysql - 选择每组计数项目

MySQL 哪个更好地加速一个表与数百万行或管理多个表?

php - MySQL表中的多个连接

mysql - 当我使用navicat for MySQL时,MySQL和local_host3306有什么区别?

sql - Postgres 9.2 PL/pgSQL 循环简单更新

sql - 返回具有相同 ref_id 的每个元素的最后金额

c# - 不允许 SQL 表参数化?