我希望转换一个选择语句从oracle到postgres


select max(to_number(ltrim(aefo_number,'VE')))
from   exemption
where  aefo_number like 'E%'
or     aefo_number like 'V%'

我得到Function to_number(text)不存在的错误,上面的选择语句,我无法转换它。

如果有人知道select语句的语法请告诉我

不像Oracle, Postgres的to_number()函数总是需要一个格式掩码。所以你需要to_number(ltrim(aefo_number,'VE'), '99999999999')

如果您不想(或不能)指定格式掩码,您可以将值转换为numericinteger:

select max(ltrim(aefo_number,'VE')::integer)
from   exemption
where  aefo_number like 'E%'
or     aefo_number like 'V%'

如果VE仅为第一个字符,则可以使用:

select MAX(SUBSTR(aefo_number,2)::integer)
from   exemption
where  aefo_number like 'E%'
or     aefo_number like 'V%'

小提琴

最新更新