Labels

Script categories

Showing posts with label Formatting. Show all posts
Showing posts with label Formatting. Show all posts

Friday, 23 September 2011

Validating a number as an integer

set serveroutput on
declare
   l_Char_Num varchar2 (40) := '&Enter_Number';
   i          number;
begin
  i := to_number (l_Char_Num);
  if ( i = trunc(i) ) then
    dbms_output.put_line (i ||' is an Integer');
  else
    dbms_output.put_line (i ||' is not an Integer');
  end if;
  exception
    when others then
      dbms_output.put_line ('Not an Integer');
end proc;
/
Enter value for Enter_Number: 40.6
old   2:    p_search varchar2 (40) := '&num';
new   2:    p_search varchar2 (40) := '40.6';

40.6 is not an Integer


However, when run with -40, outcome is;

Enter value for Enter_Number: -40
old   2:    p_search varchar2 (40) := '&num';
new   2:    p_search varchar2 (40) := '-40';

-40 is an Integer

Thursday, 22 September 2011

Format large number to spaces and commas

/*
to convert this number;
-13237836,2
to
-13 237 836,20.

*/
select to_char(-13237836.2
              ,'999g999g999d90'
              ,'nls_numeric_characters='', ''') Format_Number
from dual
/

 

Show todays date in Arabic

select  to_char(sysdate, 'DD-Mon-YYYY')                     Today
       ,to_char(sysdate,'dd mon rrrr'
                      ,'nls_calendar = ''english hijrah''') Arabic_Day
from dual
/
TODAY                ARABIC_DAY
-------------------- -------------------------
22-Sep-2011          23 Shawwal           1432