我正在制作Sq l-Report,我需要本论坛专家的帮助。
该报告旨在找到所有后来者和早起的人。
我必须在varchar2
类型列的分钟部分添加10分钟,此列中的值类似于' 10:41',表示我必须制作它' 10:51& #39;添加10(数字)后。
我申请了to_number但它没有用。
我的Oracle版本= 7.0
我使用的查询就像:
select adm,emp_num,adm_emp_name,asm_st_tme,asm_ed_tme from adm,asm
where adm_emp_num =120342
having min(to_char(adm_ace_tme,'HH24:MI')) < asm_st_tme
group by adm,emp_num,adm_emp_name,asm_st_tme,asm_ed_tme
Adm表的结构是:
ADM_ID NUMBER(10,0) Yes 1
ADM_EMP_NUM NUMBER(6,0) Yes 2
ADM_EMP_NAM VARCHAR2(35 BYTE) Yes 3
ADM_CRD_NUM VARCHAR2(10 BYTE) Yes 4
ADM_ACE_DTE DATE Yes 5
ADM_ACE_TME DATE Yes 6
ADM_DOR_NUM NUMBER(4,0) Yes 7
ADM_DOR_NAM VARCHAR2(15 BYTE) Yes 8
ADM_DOR_STE VARCHAR2(15 BYTE) Yes 9
ADM_IN_OUT VARCHAR2(5 BYTE) Yes 10
ADM_MAC_TYP VARCHAR2(15 BYTE) Yes 11
Asm表的结构是:
ASM_ID NUMBER(1,0)
ASM_SFT VARCHAR2(1 BYTE)
ASM_ST_TME VARCHAR2(5 BYTE)
ASM_ED_TME VARCHAR2(5 BYTE)
答案 0 :(得分:0)
首先,您必须将此cols用作时间戳而不是varchar。使用alter命令执行此操作。然后你可以使用以下syantax来获得理想的结果。
SELECT SYADATE, SYADATE + INTERVAL '10' MINUTE
FROM DUAL;