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