2017-07-26 18 views
1

一个版本,我需要四舍五入版本列,ROUND()用十进制工作得很好,但是在一些不喜欢的作品7.3.1一轮的PostgreSQL

dbtype  version 
------------------------ 
PostgreSQL  7.3.1 
Oracle   11.2.0.4.0 
Oracle   12.4.5 

我的期望输出

PostgreSQL 7 
Oracle  11 
Oracle  12 
+0

你真的使用过时的Postgres版本像7.1和9.1吗? –

+0

不,我正在使用PostgreSQL 9.5rc1 –

+0

我们可以在第一次出现小数后删除所有内容 –

回答

2

你可以将其转换为一个数组:

Select dbtype, (string_to_array(version, '.'))[1] 
from the_table 

或者使用split_part:

Select dbtype, split_part(version, '.', 1) 
from the_table 
+0

@KakaDBA:分隔符当然必须是'.'而不是逗号。我纠正了 –

+0

棒极了!那工作 –