添加一列,该列可被另一列整除 10

Add a column which is the divisible by 10 of another column

一个名为 test 的 table 有列:

person_id(唯一)&special_num

Table:

结果:

想创建一个名为 div 的新列来确定哪个人得到了 div 到 10 岁时可以得到的 special_num 以及哪个人没有得到而不是 true 或 false喜欢有或没有。

我是 MySQL 的新手,从未尝试过,但尝试了一下,请告诉我如何获得:

SELECT * FROM test WHERE special_num % 10 = 0 AS div from test;

我无法弄清楚如何输入值以及它是否是正确的输入方式

如果您想要 ,那么它会进入 select:

select t.*,
       ( (special_num % 10) = 0) as div
from t;

您需要一个 CASE 表达式:

SELECT *, 
  CASE WHEN special_num % 10 = 0 THEN 'Yes' ELSE 'No' END AS `div`
FROM test 

这里my SQLFiddle模拟这个问题。

第一步是通过更改 table 创建一个新列。

ALTER TABLE PERSONS 
     ADD is_special VARCHAR(3);

现在 运行 一个更新查询,检查 special_num % 10 是否为零,如果是,则将 is_special 设置为 yes

UPDATE PERSONS SET is_special = CASE WHEN special_num % 10 = 0 THEN 'yes' ELSE 'no' END;

话虽如此,存储从其他字段派生或计算的值并不是一个好主意。您可能想在视图中使用它,而不是在 table.