Je regarde dans une procédure stockée Oracle (10g) et rencontre la fonction LEFT
/RIGHT
suivante.Fonction GAUCHE dans Oracle
TO_DATE(LEFT('01-Jun-1201',9))
Dans l'éditeur de crapaud, je ne suis pas en mesure d'exécuter cette fonction et doivent changer pour LPAD
TO_DATE(LPAD('01-Jun-1201',9))
La procédure stockée fonctionne très bien avec la fonction LEFT
/RIGHT
mais il court plus vite si J'utilise LPAD
/RPAD
.
Existe-t-il une fonction LEFT
dans Oracle et si non, pourquoi la procédure stockée fonctionne-t-elle correctement?
SELECT
SUM(DECODE(SIGN(TO_DATE(LEFT('01-Jun-12', 9)) - TO_DATE(logdate)),
-1, totaltime, 0, totaltime, 0)) AS totaltime
FROM AREA2.v_area
WHERE logdate >= TO_DATE(RIGHT('01-Jun-12', 9))
AND logdate <= TO_DATE('30-Jun-12')
Eh bien, avez-vous cherché dans la base de données, y at-il des fonctions 'LEFT'? – V4Vendetta
'LEFT' et' RIGHT' sont des fonctions SQL Server qui font ce que 'LPAD' /' RPAD' font. Vous pouvez avoir une fonction définie par l'utilisateur dans votre base de données, ce qui expliquerait le ralentissement. – dasblinkenlight
Pas très .NETy, imho – smp