2010-12-08 5 views
0

J'essaye d'exécuter une requête oracle (11g) en PHP 4 qui a finalement échoué. Mais la même requête réussit dans sql plus. Connexion à la base de données est ok coz toutes les autres requêtes sont en cours d'exécution avec succès. Je coller la requête suivante:La requête Oracle ne fonctionne pas en 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') 

s'il vous plaît aidez-moi

Merci et salutations

Jessy

+2

Avez-vous des erreurs sont revenus? Si c'est le cas, il est utile de savoir ce qu'ils étaient. –

+0

Quel est le code PHP que vous utilisez? OCI8 extension? –

+0

aucune erreur, c'est quelque chose lié à la date à la fin de la requête. quand j'ai enlevé la dernière partie de date, son fonctionnement en PHP. Quelqu'un s'il vous plaît dites-moi comment comparer la date en PL/SQL avec php 4. merci d'avance – jessica

Répondre

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) 

EDIT pour @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') 

a été remplacé par

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) 
+0

Quelle est la différence? – powtac

Questions connexes