首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从字符串PostgreSQL中提取值

从字符串PostgreSQL中提取值
EN

Stack Overflow用户
提问于 2018-09-08 09:40:14
回答 4查看 1.9K关注 0票数 2

简单问题

在string字段中有以下类型的结果

代码语言:javascript
复制
'Number=123456'
'Number=1234567'
'Number=12345678'

如何从字符串中提取值,使其在5-8位数之间发生变化。

到目前为止,我这样做了,但我怀疑这是否符合我的要求。

代码语言:javascript
复制
SELECT substring('Size' from 8 for ....

如果我能告诉它从=号开始到结尾,那会有帮助的!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-08 10:27:40

另一个简单的解决方案,适合您的规格(装饰7个主要字符)是与右()

代码语言:javascript
复制
right(str, -7)

演示:

代码语言:javascript
复制
SELECT str, right(str, -7)
FROM (
   VALUES ('Number=123456')
        , ('Number=1234567')
        , ('Number=12345678')
   ) t(str);

       str       |  right
-----------------+----------
 Number=123456   | 123456
 Number=1234567  | 1234567
 Number=12345678 | 12345678 
票数 2
EN

Stack Overflow用户

发布于 2018-09-08 09:41:20

你可以用REPLACE

代码语言:javascript
复制
SELECT col, REPLACE(col, 'Number=', '')
FROM tab;

DBFiddle演示

票数 2
EN

Stack Overflow用户

发布于 2018-09-08 09:45:04

基于这个问题:将逗号分隔的列数据拆分为其他列

您可能可以执行以下操作:

代码语言:javascript
复制
SELECT *, split_part(col, '=', 2)
FROM table;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52233992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档