将整数列转换为mySQL

时间:2015-12-02 13:54:08

标签: mysql

我的用户表目前有一个字段sex,它是1或2.我想将这些值转换为“F”或“M”并将它们放入不同的列中。在mySQL中有没有办法做到这一点?

我可以在控制台中编写Ruby代码来执行此操作,但我有100K用户的订单,并且不想在循环时停止生产。

2 个答案:

答案 0 :(得分:1)

您可以分三步完成

第1步 在表格中添加一个新列

alter table table_name add column sex_n char(1);

第2步 写一个更新查询

update table_name
set sex_n = case when sex = 1 then 'M' else 'F' end ;

第3步 验证数据是否填充正确,然后执行

alter table table_name drop column sex
alter table table_name change sex_n sex char(1);

如果您不想要额外的列,可以使用select转换为

select
case when sex=1 then 'M'
else 'F'
end as sex 
from table_name

答案 1 :(得分:0)

<强>查询:

UPDATE tbl_name SET sex = (CASE WHEN sex = 1 THEN 'M' WHEN sex = 2 THEN 'F' ELSE '' END);

添加名为gender的额外列,然后:

UPDATE tbl_name SET gender = (CASE WHEN sex = 1 THEN 'M' WHEN sex = 2 THEN 'F' ELSE '' END);