繁体   English   中英

在MySQL中将整数列转换为字符

[英]Converting an integer column to a character in mySQL

我的用户表当前的字段sex为1或2。我想将这些值转换为“ F”或“ M”,然后将它们放入其他列中。 有什么办法可以在MySQL中做到这一点?

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

您可以3个步骤完成

步骤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

查询:

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM