gpt4 book ai didi

mysql - 如何根据同一表中另一列的数据填充一列?

转载 作者:行者123 更新时间:2023-11-29 07:13:43 25 4
gpt4 key购买 nike

我将两组数据连接到一个表中。一个是美国地址,另一个是加拿大地址。我需要能够按国家/地区排序的选项。因此,我在表中插入了一个空白的国家/地区列,我的表现在如下所示:

 state | country | zip
-----------------------
| |
| |


我有州和邮政编码数据,但我的国家/地区列为空。由于美国邮政编码格式是 5 位数字(例如 12345),而 CAN 邮政编码的格式类似于(例如 G5Y 5S7),因此 mysql 是否可以使用某种形式填充国家/地区数据...

UPDATE table 
SET country = US
WHERE zip (LIKE or =) (US zip format);

然后返回并使用某种 WHERE zip LIKE NULL 用 CAN 填充其余国家/地区数据?

谢谢

最佳答案

您可以检查 zip 列中值的长度。

UPDATE table 
set country = 'US'
where char_length(zip) = 5;

然后:

UPDATE table 
set country = 'CAN'
where country is null

-- 或者,一次性 --

UPDATE table t
set country =
(case when char_length(t.zip) = 5
then 'US'
else 'CAN'
end);

关于mysql - 如何根据同一表中另一列的数据填充一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38709186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com