0
我有一个PL/SQL脚本,它在oracle数据库上执行一些过程。 脚本定义了:VARCHAR执行PLSQL过程时,导致0的值丢失
DECLARE
productkey VARCHAR2(100);
BEGIN
productKey := '000000000070307037';
...
ProcedureName(productKey);
该过程需要一个VARCHAR2
PROCEDURE ProcedureName (
productKey VARCHAR2
)
的过程插入到一个表:
BEGIN
Insert into Mytable
(
THIS_PRODUCT_KEY
)
Values
(productKey);
当我查询该表,产品密钥= 70307037,即领先的0已经丢失。
我看到那里TO_CHAR建议一些类似的问题,我试着用TO_CHAR在脚本中定义的ProductKey,也modifiying程序使用TO_CHAR写:
BEGIN
Insert into Mytable
(
THIS_PRODUCT_KEY
)
Values
(TO_CHAR(productKey,'000000000000000000'));
还来过没有前导0。
有多个查询使用产品密钥进行连接,并且在缺少0时不起作用。
当变量为VARCHAR时,为什么我会丢失0的值?
试试'TO_CHAR(productKey)'。 – Ofisora
我敢打赌,表格列的数据类型是NUMBER。 – APC
在插入 – Ikrom