如何在Oracle中从字符串/数字中向右修剪两个字符

如何在Oracle中从字符串/数字中向右修剪两个字符,oracle,reporting-services,oracle11g,ssrs-2008,Oracle,Reporting Services,Oracle11g,Ssrs 2008,我只想修剪字符串中最右边的两个字符 下面是我要修剪的字段的代码: `第二轮(如果为客户、订单、api、总金额、包括费用(c.订单号),-2)) 例如,如果api调用返回1136,它将舍入到1100。我希望最终结果返回“11” 我在SSRS查询编辑器中。这应该可以完成这项工作 SELECT SUBSTR('your string',1,2) FROM dual; 或者详细地 substr(ROUND(ifsapp.customer_order_api.get_gross_amt_incl_cha

我只想修剪字符串中最右边的两个字符

下面是我要修剪的字段的代码:

`第二轮(如果为客户、订单、api、总金额、包括费用(c.订单号),-2))

例如,如果api调用返回1136,它将舍入到1100。我希望最终结果返回“11”

我在SSRS查询编辑器中。

这应该可以完成这项工作

SELECT SUBSTR('your string',1,2) FROM dual;
或者详细地

substr(ROUND(ifsapp.customer_order_api.get_gross_amt_incl_charges(c.order_no),-2)),1,2)

您可以将数字除以100来移动刻度,并将结果四舍五入:

ROUND(ifsapp.customer_order_api.get_gross_amt_incl_charges(c.order_no)/100))
具有一些演示值:

with t(x) as (
  select 1136 from dual
  union all select 145 from dual
  union all select 98765 from dual
)
select x, round(x/100) as y
from t;

       X        Y
-------- --------
    1136       11
     145        1
   98765      988