Create leading zero in Oracle

后端 未结 2 1209
一生所求
一生所求 2021-01-22 03:22

I am using Adempiere which has database Oracle

I have window called Stock Code from table called M_StockCode

相关标签:
2条回答
  • 2021-01-22 03:39

    A NUMBER cannot have leading zero, a STRING can.

    1. If you want to store the codes with leading zero in the database table, then you must use VARCHAR2 and not NUMBER.

    2. If you want to just display the number with leading zero, then use TO_CHAR to convert the number into string.

    For example,

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

    You could also use LPAD, but remember, the data type of the result would be a string and not a number.

    For example,

    SQL> SELECT LPAD(1, 2, '0') FROM DUAL;
    
    LP
    --
    01
    
    0 讨论(0)
  • 2021-01-22 03:55

    In Adempiere you manage the model via the Application Dictionary, it's the equivalent of the Data Dictionary used by relational databases.

    1. Login to Adempiere as the System Administrator.
    2. Select menu option Application Dictionary->Table & Column.
    3. Select the M_StockCode table and from its window, click on the Columns Tab.
    4. Here, select the Code column and if need be toggle to the Form view
    5. Now, from the drop-down select the Reference value of String and set a Length equal 2.
    6. Finally, hit the Synchronize Column button to have Admepiere modify the database.

    If this code is some kind of classification it might be useful to create new Reference type in the Application Dictionary and then you could point your column to it; this would ensure consistency, offering the user a selection to choose from rather than entering values. A Reference can be a List type which is handy for short lists or Table driven which is useful when the classification is more volatile and needs to maintained by the users.

    0 讨论(0)
提交回复
热议问题