在plsql中修剪一个数字的长度并使其保持不变



如何在PL/SQL中修剪一个数字变量以保持其长度不变。

例如:我有一个NUMBER类型的字段customerId。现在我有一个掩码函数,我只想传递这个customerId的前6位数字。我该如何做到这一点?

我只想传递这个客户ID的前6位数字。

使用SUBSTR提取前6位数字,然后使用to_number将其转换回数字。

TO_NUMBER(SUBSTR(customerId, 1, 6))

例如,

SQL> SELECT TO_NUMBER(SUBSTR(1234567890, 1, 6)) MY_NUM FROM DUAL;
    MY_NUM
----------
    123456

您也可以运行此查询。在这种情况下,隐式转换有效,无需再次应用到_number。

select substr(customer_id, 1, 6) from dual;

最新更新