【发布时间】:2015-03-12 04:44:29
【问题描述】:
我正在使用 Oracle SQL,并且想从通常像这样的单列字符串中解析
suitjacket 899, height195cm weight80kg male
blazerjacket 1099, height170cm weight65kg female
pants 299, height160cm weight89kgs male
coat 1099, height165cms weight60.5kg female
请注意,有时单位是复数形式,末尾带有额外的“s”。如何使用符合 Oracle 标准的 SQL 查询将 height 和 weight 数据提取到它们自己的单独列中?
| height | weight |
-------------------
| 195 | 80 |
| 170 | 65 |
| 160 | 89 |
| 165 | 60.5 |
我想我必须使用substring 或regex。 substring 似乎不合适,因为字符串中的数据位置不固定。 regex 似乎更好,但我不确定如何制作regex,然后将其存储在单独的列中,一列用于height,另一列用于weight。
【问题讨论】:
-
我认为这是一个简单的 SUBSTR 和 INSTR 用例。我已经编辑了问题并格式化了。投票重新提出问题。
-
我看到问题现在重新打开,请参阅我建议的 SUBSTR 和 INSTR 的答案。