在ABAP中利用Oracle的FROM DUAL

来源:互联网 发布:网络授课平台招收教师 编辑:程序博客网 时间:2024/06/13 19:19

原文地址: http://blog.chinaunix.net/u1/40527/showart.php?id=2230109

 

记录备查, 未测试.

 

---------------以下是转贴内容---------------------------------------------------------

 

REPORT  z_barry_test NO STANDARD PAGE HEADING .

DATA: str1(128),str2(128),str3(128).

***
str2 = '20080109'.
EXEC SQL.
*  SELECT to_char(to_date('20080109','yyyymmdd'),'ww') from dual into :str1
  SELECT to_char(to_date(:str2,'yyyymmdd'),'ww') from dual into :str1
ENDEXEC.
WRITE / str1.

***
str2 = '123,456.78'.
EXEC SQL.
*  select to_number('$123,456.78','$999,999,999,999.99') from dual into :str1
  select to_number(:str2,'999,999,999,999.99') from dual into :str1
ENDEXEC.
WRITE / str1.

***
str2 = 'B'.
EXEC SQL.
*  select ascii('A') from dual into :char
  select ascii(:str2) from dual into :str1
ENDEXEC.
WRITE / str1.

***
EXEC SQL.
  select rawtohex(sys_guid()) from dual into :str1
ENDEXEC.
WRITE / str1.

***
str2 = '65'.str3 = '66'.
EXEC SQL.
*  select CHR(65)||CHR(66) from dual into :str1
  select CHR(:str2)||CHR(:str3) from dual into :str1
ENDEXEC.
WRITE / str1.

***
str2 = '20090507 23:19:20'.
EXEC SQL.
*  select  to_char(sysdate-10,'YYYYMMDD HH24:MI:SS') from dual into :str1
  select to_char(to_date(:str2,'yyyymmdd hh24:mi:ss')-10,'YYYYMMDD HH24:MI:SS') from dual into :str1
ENDEXEC.
WRITE / str1.

***
EXEC SQL.
  select user from dual into :str1
ENDEXEC.
WRITE / str1.


***随机数
EXEC SQL.
   select dbms_random.value(0,100) from dual into :str1
ENDEXEC.
WRITE / str1.
 
***随机字母
EXEC SQL.
   SELECT DBMS_RANDOM.STRING('A', 20) FROM DUAL into :str1
ENDEXEC.
WRITE / str1.
 
 
 
附:TO_DATE格式(以时间:2007-11-02   13:45:25为例)
  
    Year:     
    yy      two digits 两位年                显示值:07
    yyy    three digits 三位年               显示值:007
    yyyy   four digits 四位年                显示值:2007
       
    Month:     
    mm      number     两位月                 显示值:11
    mon     abbreviated 字符集表示        显示值:11月,若是英文版,显示nov    
    month  spelled out 字符集表示          显示值:11月,若是英文版,显示november
     
    Day:     
    dd       number          当月第几天         显示值:02
    ddd     number          当年第几天         显示值:02
    dy        abbreviated  当周第几天简写    显示值:星期五,若是英文版,显示fri
    day      spelled out    当周第几天全写    显示值:星期五,若是英文版,显示friday       
    ddspth spelled out, ordinal twelfth
        
    Hour:
    hh       two digits 12小时进制            显示值:01
    hh24   two digits 24小时进制            显示值:13
     
    Minute:
    mi     two digits 60进制                显示值:45
      
    Second:
    ss     two digits 60进制                显示值:25
         
    其它
    Q       digit         季度                  显示值:4
    WW   digit         当年第几周            显示值:44
    W      digit          当月第几周            显示值:1
原创粉丝点击