2010-12-08 25 views
0

我想在PHP 4中执行一个oracle(11g)查询,最终失败。但是同样的查询在sql plus中是成功的。连接到数据库是可以的,因为所有其他查询都成功运行。我粘贴下面的查询:oracle查询不能在PHP 4中工作

SELECT to_CHAR(A.FROM_DATE,'DD-MM-RRRR HH:MIAM'), 
     to_CHAR(A.TO_DATE,'DD-MM-RRRR HH:MIAM'), 
     A.PLACE_OF_VISIT, 
     A.PURPOSE_OF_VISIT, 
     C.EMPLOYEE_NAME, 
     A.CONTACT_NO, 
     B.ABSENCE_TYPE, 
     A.REMARKS, 
     D.EMPLOYEE_NAME 
    FROM EMP_ABSENCE_DETAILS A, 
     ABSENCE_TYPE B, 
     EMPLOYEE_MASTER C, 
     EMPLOYEE_MASTER D 
WHERE A.EMP_CODE LIKE '%' 
    AND A.REASON_OF_ABSENCE = B.CODE 
    AND A.ENTRY_STATUS ='A' 
    AND ltrim(rtrim(C.EMPLOYEE_CODE))=ltrim(rtrim((A.OFFICER_EMP_CODE))) 
    AND ltrim(rtrim(D.EMPLOYEE_CODE))=ltrim(rtrim((A.EMP_CODE))) 
    AND to_date('30/11/2010','DD/MM/RRRR') >= to_date(FROM_DATE,'DD/MM/RRRR') 
    AND to_date('30/11/2010','DD/MM/RRRR')<= to_date(TO_DATE,'DD/MM/RRRR') 

请帮我

感谢和问候

杰西

+2

你得到返回的任何错误?如果是这样,知道它们是什么是有用的。 – 2010-12-08 11:37:12

+0

你使用的是什么PHP代码? OCI8扩展? – 2010-12-08 11:37:55

回答

0
SELECT to_CHAR(A.FROM_DATE,'DD-MM-RRRR HH:MIAM'), 
     to_CHAR(A.TO_DATE,'DD-MM-RRRR HH:MIAM'), 
     A.PLACE_OF_VISIT, 
     A.PURPOSE_OF_VISIT, 
     C.EMPLOYEE_NAME, 
     A.CONTACT_NO, 
     B.ABSENCE_TYPE, 
     A.REMARKS, 
     D.EMPLOYEE_NAME 
    FROM EMP_ABSENCE_DETAILS A, 
     ABSENCE_TYPE B, 
     EMPLOYEE_MASTER C, 
     EMPLOYEE_MASTER D 
WHERE A.EMP_CODE LIKE '%' 
    AND A.REASON_OF_ABSENCE = B.CODE 
    AND A.ENTRY_STATUS ='A' 
    AND ltrim(rtrim(C.EMPLOYEE_CODE))=ltrim(rtrim((A.OFFICER_EMP_CODE))) 
    AND ltrim(rtrim(D.EMPLOYEE_CODE))=ltrim(rtrim((A.EMP_CODE))) 
    AND to_date('30/11/2010','DD/MM/RRRR') >= trunc(A.FROM_DATE) 
    AND to_date('30/11/2010','DD/MM/RRRR')<= trunc(A.TO_DATE) 

编辑 为@powtac

AND to_date('30/11/2010','DD/MM/RRRR') >= to_date(FROM_DATE,'DD/MM/RRRR') 
AND to_date('30/11/2010','DD/MM/RRRR')<= to_date(TO_DATE,'DD/MM/RRRR') 

已被替换

AND to_date('30/11/2010','DD/MM/RRRR') >= trunc(A.FROM_DATE) 
AND to_date('30/11/2010','DD/MM/RRRR')<= trunc(A.TO_DATE)