使用 Oracle 12c 截断数字

Truncating Numbers with Oracle 12c

这与截断小数位无关。相反,使用 Oracle 12c 截断整数。

select CAST('123456789' AS NUMBER(4)) from DUAL;

如果这返回“1234”而不是抛出异常,那就太好了。

正如贾斯汀所建议的那样,这样做是不明智的。但是也可以这样做。

select cast(substr('123456789',1,4) as integer) from dual;

但这在以下情况下不起作用。

  1. 您的号码前有 0
  2. 您之前有一个小数位 第 4 个数字 (ex 123.4)