Vous n'êtes pas identifié(e).

#1 Général » Requête postgresql » 15/03/2012 15:58:21

mollux
Réponses : 1

Bonjour j'ai deux requêtes qui passaient en oracle et qui ne passe plus en postgres :

Requête 1 :

Code :Sélectionner tout - Visualiser dans une fenêtre à part123456789101112 SELECT to_char(s.date_synchro, 'YYYY') AS annee,
to_char(s.date_synchro, 'MM') AS mois_chiffre,
to_char(s.date_synchro, 'MONTH') AS mois,
to_char(s.date_synchro, 'WW') AS semaine,
substr('t.Date_Synchro', 0, 10) AS date_synchro,
t.nb_appli_tmp AS nb_applis,
s.nb_job_tmp AS nb_jobs
FROM stat_applis t, STAT_JOBS s
WHERE substr(t.Date_Synchro ,0 ,10) SIMILAR TO substr(s.Date_Synchro ,0 ,10)
AND s.ID_DOMAINE = t.ID_DOMAINE AND s.ID_DOMAINE = 1
AND to_char(s.date_synchro, 'DAY') LIKE '%LUNDI%'
ORDER BY annee DESC,semaine DESC erreur

Code :Sélectionner tout - Visualiser dans une fenêtre à partHINT:  No FUNCTION matches the given name AND argument types. You might need TO ADD explicit type casts.

l'erreur vient de substr a priori mais je ne vois pas pourquoi quand je regarde dans le manuel postgres, j'ai bien cette option présente avec la même synthaxe.

Requête 2 :

Code :Sélectionner tout - Visualiser dans une fenêtre à part1234567 SELECT e.environnement,a.application,(((LENGTH(a.liens_vers) - LENGTH(REPLACE(a.liens_vers, ',')))/ LENGTH(',')) + 1) AS nb_liens_applis,j.job,(((LENGTH(j.liens_vers) - LENGTH(REPLACE(j.liens_vers, ',')))/ LENGTH(',')) + 1) AS nb_liens_jobs
FROM t_environnement e,t_application a, t_job j
WHERE e.id_environnement_ora = a.id_environnement_ora
AND j.id_application_ora = a.id_application_ora
AND j.id_domaine = 1
AND j.machine NOT LIKE '%poub%'
ORDER BY e.environnement,a.application,j.job message d'erreur :

Code :Sélectionner tout - Visualiser dans une fenêtre à part1234 ERROR:  FUNCTION REPLACE(character varying, unknown) does NOT exist
LINE 1: ...nt,a.application,(((LENGTH(a.liens_vers) - LENGTH(REPLACE(a....
                                                             ^
HINT:  No FUNCTION matches the given name AND argument types. You might need TO ADD explicit type casts.

idem, la fonction replace existe aussi en postgres, je ne vois pas pourquoi cela ne colle pas.

Pied de page des forums

Propulsé par FluxBB