Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql:从数字开始提取文本_Sql_Postgresql - Fatal编程技术网

Postgresql:从数字开始提取文本

Postgresql:从数字开始提取文本,sql,postgresql,Sql,Postgresql,我有一个包含以下数据的表os id name -- ---- 1 windows server 2012 R2 2 windows 2016 SQL 3 Oracle linux 7.5 我需要从windows server 2012 R2和2016 SQL中提取2012 R2,从windows 2016 SQL和7.5中提取Oracle linux 7.5 我尝试了下面的查询,但它只返回像2012和2016

我有一个包含以下数据的表
os

id         name
--         ----
1          windows server 2012 R2
2          windows 2016 SQL
3          Oracle linux 7.5
我需要从
windows server 2012 R2
2016 SQL
中提取
2012 R2
,从
windows 2016 SQL
7.5
中提取
Oracle linux 7.5

我尝试了下面的查询,但它只返回像
2012
2016
7

SELECT name, substring(name FROM '[0-9]+') FROM os;
例如,如何使用从windows server 2012 R2中提取
2012 R2
postgresql查询


请尝试从操作系统中选择名称、子字符串(名称来自“[0-9]+.*)

请尝试从操作系统中选择名称、子字符串(名称来自“[0-9]+.*)

如果它有
7.5.1
2012版本2
等字符串怎么办?我还需要提取7.5.1和2012版本2,如果它有
7.5.1
2012版本2
等字符串怎么办?我还需要提取7.5.1和2012版本2