【发布时间】:2017-02-19 09:26:47
【问题描述】:
如果我正在编写一个返回地址列表(街道编号和街道名称)但这些值存储在同一列中的查询,有没有办法将数字和街道名称分成 2 个不同的列?
exp:
select address
from customer
想要的结果:
123 | any st
345 | some st
这“容易”吗?
我只有读权限,不会在数据库中更改任何内容;它是“原样”
【问题讨论】:
-
oracle 函数 substr 和 instr 可以做到。就个人而言,虽然我有一个地址表,其中包含我想要处理的地址的每一位的列。
-
显示地址列的示例数据。分隔符是什么?
-
更改 collums 不是我的选择;我只有读取权限。列是原样
-
对此要小心。并非所有地址都采用您期望的格式。您可能会得到像“10-1 some st”或“1 some st Apr 10”这样的值。对我来说,它们具有相同的意义。
-
对于国际地址,房子的“数字”甚至根本不需要是数字;或者它们可能被装饰成“35a”或“3-5”,可能用逗号、空格或其他分隔符分隔,可能在街道名称的前面或末尾以及您能想象到的任何内容。所以我想说没有简单(和安全)的方法。
标签: sql select oracle-sqldeveloper