View Single Post
  #25 (permalink)  
Old 08-10-09, 09:03
tonkuma tonkuma is offline
Registered User
 
Join Date: Feb 2008
Location: Japan
Posts: 2,190
Here is another expression.

Code:
------------------------------ Commands Entered ------------------------------
SELECT val
     , TO_CHAR(val)                      AS to_char
     , LEFT(CHAR(val),1-(SIGN(val)+SIGN(ABS(val)-1))/2)
       ||STRIP(CHAR(ABS(val)),L,'0')     AS expression
  FROM (SELECT DEC(d,18,3) AS val
          FROM
             ( VALUES 12.25, 100056.009, 10., 1., 0.123, 0.001
                    , 0, -0.001, -1., -10., -12.25, -100056.009
             ) AS test_data(d)
       )
;
------------------------------------------------------------------------------

VAL                  TO_CHAR                                    EXPRESSION                              
-------------------- ------------------------------------------ ----------------------------------------
              12.250 12.250                                     12.250                                  
          100056.009 100056.009                                 100056.009                              
              10.000 10.000                                     10.000                                  
               1.000 1.000                                      1.000                                   
               0.123 0.123                                      0.123                                   
               0.001 0.001                                      0.001                                   
               0.000 0.000                                      0.000                                   
              -0.001 -0.001                                     -0.001                                  
              -1.000 -1.000                                     -1.000                                  
             -10.000 -10.000                                    -10.000                                 
             -12.250 -12.250                                    -12.250                                 
         -100056.009 -100056.009                                -100056.009                             

  12 record(s) selected.
Reply With Quote