【发布时间】:2017-07-20 15:38:36
【问题描述】:
我没有 mySQL,但我正在为数据库使用 DB Browser for SQLite。
我目前正在设计一个关于伦敦房产的数据库,其中一列是地址。 例如,地址栏有:[Ovanna Mews, 19A Buckingham Road, N1]
表名:West2
我想将 N1 移动到名为 Postcode 的新列。
最终产品应如下所示:
address column: **Ovanna Mews, 19A Buckingham Road**
postcode column: **N1**
另一个例子:
(old) Lowndes Square, Knightsbridge, London, SW1X
(new) address column: Lowndes Square, Knightsbridge, London
postcode column: SW1X
PS:我的数据库里面有100多列,所以不会考虑手动更改它
【问题讨论】:
-
请注意;你绝对确定最后一部分将永远是邮政编码吗?如果是用户输入,他们可能会输入:“Ovanna Mews, 19A Buckingham Road, N1, UNITED KINGDOM”或更可能是“Ovanna Mews, 19A Buckingham Road”
-
“N1”是您要移动的实际值,还是您要移动的最后一个分隔值?
-
有些条目没有邮政编码,但至少 90% 的条目末尾有邮政编码。 N1 是我要移动的实际邮政编码。
-
这在 SQLite 中很难做到,因为没有拆分功能。您可以切换到提供拆分功能的其他数据库,例如 MySql 和 Oracle。如果你不能这样做,你最好的办法是在 java/python 中编写代码并修改底层文本文件并将邮政编码作为新列分离出来。