1808 FOX CHASE DR, GOODLETTSVILLE, TN
我正试图基于,
逗号将其拆分为3列。
我使用了select substring_index(OwnerAddress,',',1),substring_index(OwnerAddress,',',-1) from housingdata;
,它只会给我2个值,但我正在3个不同的列中寻找3个值。
我正在使用Mysql工作台。有人能指导如何在sql中使用多个delemter拆分字符串吗。
mysql> set @a = '1808 FOX CHASE DR, GOODLETTSVILLE, TN';
mysql> select trim(substring_index(@a, ',', 1)) as address,
trim(substring_index(substring_index(@a, ',', 2), ',', -1)) as city,
trim(substring_index(@a, ',', -1)) as state;
+--------------------+----------------+-------+
| address | city | state |
+--------------------+----------------+-------+
| 1808 FOX CHASE DR | GOODLETTSVILLE | TN |
+--------------------+----------------+-------+
另一方面,如果希望这三个数据元素是独立的,则应该将它们存储在三个独立的列中。如果有人的地址包含逗号,这种查询肯定会遇到麻烦。
请参阅https://linguaholic.com/linguablog/commas-in-adresses/
4344 Lynn Ave.,Building F,Apt.4B,Merrill,WI 54452