Oracel转换函数

1、TO_CHAR(x[,formate])函数,将数字型转换为字符串类型。
sql 代码
 
  1. DECLARE      
  2.     V_INTA NUMBER :=12345.67;    
  3. BEGIN      
  4.     --普通输出   
  5.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA));  
  6.     --整数三位用逗号隔开   
  7.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'99,999.99'));  
  8.     --前面增加$符号   
  9.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'$99,999.99'));  
  10.     --前面补俩0   
  11.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'0099,999.99'));  
  12.     --后面补俩0   
  13.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'$99,999.9900'));  
  14.     --小于1的小数,去掉整数0的部分,这里输出.67   
  15.     DBMS_OUTPUT.put_line(TO_CHAR(0.67,'B9.99'));  
  16.     --去处首尾的空格和0   
  17.     DBMS_OUTPUT.put_line(TO_CHAR('  0012.5600','FM9999.99'));  
  18.     --返回本地的货币符号   
  19.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'L99,999.99'));  
  20.     --结合‘FM’和‘L’一起使用   
  21.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'FML99,999.99'));  
  22.     --返回该数乘以10的N次方的结果。N为V后面9个个数。这里返回12345.67*100 (10的平方)   
  23.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'99999V99'));  
  24.       
  25.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'99999D99'));  
  26.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'C99,999.99'));  
  27.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'99999.99EEEE'));  
  28.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'99999G99'));  
  29.     DBMS_OUTPUT.put_line(TO_CHAR(-12345.67,'99,999.99MI'));  
  30.     DBMS_OUTPUT.put_line(TO_CHAR(-12345.67,'99,999.99PR'));  
  31.     DBMS_OUTPUT.put_line(TO_CHAR(-12345.67,'S99999'));  
  32.     DBMS_OUTPUT.put_line(TO_CHAR(12345.67,'S99999'));  
  33.     DBMS_OUTPUT.put_line(TO_CHAR(-12345.67,'99999S'));  
  34.     DBMS_OUTPUT.put_line(TO_CHAR(12345.67,'99999S'));  
  35.     DBMS_OUTPUT.put_line(TO_CHAR(2007,'RN'));  
  36.     DBMS_OUTPUT.put_line(TO_CHAR(2007,'rn'));  
  37.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'TM'));  
  38.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'U99,999.99'));  
  39.     DBMS_OUTPUT.put_line(TO_CHAR(V_INTA,'XXXX'));  
  40. END;  

2、TO_NUMBER(x[,formate])函数将一个字符串转换成一个数字。formate参数可以是以上例子中的formate字符串。而且TO_NUMBER和TO_CHAR的过程正好相反。
sql 代码
 
  1. DECLARE      
  2.     V_VARCH VARCHAR2(50) :='$12345.67';    
  3. BEGIN      
  4.     --输出12345.67   
  5.     DBMS_OUTPUT.put_line(TO_NUMBER(V_VARCH,'$99999.99'));  
  6. END;  

你可能感兴趣的:(sql)