簡體   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