小编典典

在Oracle中创建前导零

sql

我正在使用Adempiere哪个有数据库Oracle

我有一个叫Stock Code表的窗口M_StockCode

字段是CodeDescription

当前,Code数据类型为NumberDescriptionVarchar2

我要输入SparepartCode 01,并Body RepairCode 02

当我输入在ADempiere并保存数据,究竟会展示的是SparepartCode 1(不带前导零)

我已经尝试过放置LPAD函数,但是仍然失败。

如何在Adempiere界面和数据库中都输入01?

任何建议将不胜感激:)


阅读 246

收藏
2021-04-14

共1个答案

小编典典

一个 NUMBER 不能有前导零,一个 字符串 即可。

  1. 如果要在数据库表中 存储 前导零 的代码,则必须使用 VARCHAR2 而不是 NUMBER

  2. 如果只想 显示 前导零 的数字 ,请使用 TO_CHAR 将数字转换为字符串。

例如,

SQL> SELECT TO_CHAR(1, '00') FROM DUAL;

TO_
---
 01

您也可以使用 LPAD ,但是请记住,结果的数据类型将是字符串而不是数字。

例如,

SQL> SELECT LPAD(1, 2, '0') FROM DUAL;

LP
--
01
2021-04-14