我将两组数据合并到一个表中。一个是美国地址,另一个是加拿大地址。我需要选项才能按国家/地区排序。所以我在表格中插入了一个空白的国家/地区列,现在我的表格如下所示:
state | country | zip
-----------------------
| |
| |
我有状态和zip数据,但我的国家/地区列是空的。由于美国邮政编码格式为5位数(例如12345),而CAN压缩格式为(例如G5Y 5S7),因此可以使用mysql以某种形式填充国家/地区数据...
UPDATE table
SET country = US
WHERE zip (LIKE or =) (US zip format);
然后返回并使用某种WHERE zip LIKE NULL
用CAN填充其余的国家/地区数据?
由于
答案 0 :(得分:2)
您可以在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);