select lpad('1', 5, '0') from dual;LPAD('1',5,'0') --------------- 00001
SQL> select lpad(sal,5,0),sal from emp; --lpad(sal,5,0)是sal显示是为5位不够往左边补0 如果是右边就用rpad() LPAD(SAL,5 SAL ---------- ---------- 00800 800 01600 1600 01250 1250 02975 2975 01250 1250 02850 2850 02450 2450 03000 3000 05000 5000 01500 1500 01100 1100LPAD(SAL,5 SAL ---------- ---------- 00950 950 03000 3000 01300 1300 SQL> column sal heading "newsal" format 09999;--设置列的格式输出 SQL> select sal from emp;newsal ------ 00800 01600 01250 02975 01250 02850 02450 03000 05000 01500 01100newsal ------ 00950 03000 01300
SCOTT@oamis>>select rpad('1',8,'0') from dual;RPAD('1' -------- 10000000已用时间: 00: 00: 00.00
小数点前无数据,补零;小数点后保存两位小数,不足两位补零,超过一位的四舍五入CREATE OR REPLACE FUNCTION GET_SHOW_ZERO_SECOND(VAL VARCHAR) RETURN VARCHAR IS RESULT VARCHAR(50); BEGIN SELECT decode(Instr(VAL,'.'),0,TO_CHAR(VAL,'FM999999990.90'),to_char(VAL,'FM999999990.90')) INTO RESULT FROM DUAL; RETURN RESULT; END;
---------------
00001
--lpad(sal,5,0)是sal显示是为5位不够往左边补0 如果是右边就用rpad()
LPAD(SAL,5 SAL
---------- ----------
00800 800
01600 1600
01250 1250
02975 2975
01250 1250
02850 2850
02450 2450
03000 3000
05000 5000
01500 1500
01100 1100LPAD(SAL,5 SAL
---------- ----------
00950 950
03000 3000
01300 1300
SQL> column sal heading "newsal" format 09999;--设置列的格式输出
SQL> select sal from emp;newsal
------
00800
01600
01250
02975
01250
02850
02450
03000
05000
01500
01100newsal
------
00950
03000
01300
--------
10000000已用时间: 00: 00: 00.00
RESULT VARCHAR(50);
BEGIN
SELECT decode(Instr(VAL,'.'),0,TO_CHAR(VAL,'FM999999990.90'),to_char(VAL,'FM999999990.90')) INTO RESULT FROM DUAL;
RETURN RESULT;
END;
关于这些东西你可以在csdn的下载点去下载oracle小册子帮助手册,里面涵盖了大部分常用函数的使用方法