IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Between sans les samedi et dimanche


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut Between sans les samedi et dimanche
    Bonjour et bonne année à toutes et tous

    Cette requête doit ramener des dates de livraisons entre deux dates.
    Comment écrire la condition du between pour exclure les samedi et les dimanche entre ces deux dates ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT CCD_DATE_LIVRAISON
    FROM T_CCD_COMPLEMENT_COMMANDE
    WHERE T_CCD_COMPLEMENT_COMMANDE.CCD_DATE_LIVRAISON BETWEEN 
                                         TO_CHAR(SYSDATE,'dd/mm/yyyy')
                                         AND TO_CHAR(SYSDATE+10,'dd/mm/yyyy')
    Merci pour votre aide.

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 955
    Par défaut
    Regarde Nombre de jours ouvrés entre 2 dates pour un début de script de création d'une table calendrier.

  3. #3
    Membre éclairé Avatar de arthuro45
    Profil pro
    Développeur du dimanche
    Inscrit en
    Juillet 2009
    Messages
    602
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur du dimanche

    Informations forums :
    Inscription : Juillet 2009
    Messages : 602
    Par défaut
    Est-on vraiment obligé de passer par un calendrier ? Ne peut-on pas dire : si samedi ou dimanche je ne fais rien ?

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 462
    Par défaut
    Citation Envoyé par arthuro45 Voir le message
    Ne peut-on pas dire : si samedi ou dimanche je ne fais rien ?
    Si si, bien sûr !
    Il suffit d'ajouter une condition dans votre requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... AND to_char(la_date, 'FMDAY', 'NLS_DATE_LANGUAGE=FRENCH') not in ('SAMEDI', 'DIMANCHE');

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 955
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 955
    Par défaut
    Par contre le BETWEEN avec un to_char, c'est pas top...
    Utilise trunc pour supprimer la partie horraire, la requête donne donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT CCD_DATE_LIVRAISON
      FROM T_CCD_COMPLEMENT_COMMANDE
     WHERE CCD_DATE_LIVRAISON BETWEEN trunc(SYSDATE,'dd/mm/yyyy') and trunc(SYSDATE+10,'dd/mm/yyyy')
       and to_char(CCD_DATE_LIVRAISON, 'FMDAY', 'NLS_DATE_LANGUAGE=FRENCH') NOT IN ('SAMEDI', 'DIMANCHE')

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Quel format sur le trunc ! Un reste superflu des fêtes de fin d'année j'imagine !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select trunc(sysdate,'dd/mm/yyyy') as dt from dual;
     
    -- ORA-01898: trop de précisions
     
    select trunc(sysdate,'dd') as dt from dual;
     
    DT        
    ----------
    03/01/2012

Discussions similaires

  1. Détecter les samedis et dimanches
    Par metoum dans le forum InterBase
    Réponses: 3
    Dernier message: 24/05/2012, 11h55
  2. nombre de jour entre deux dates sans compter samedi et dimanch
    Par sihammaster dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 31/10/2011, 17h17
  3. DiffDate sans les dimanches et jours fériés.
    Par ROGER2 dans le forum Access
    Réponses: 4
    Dernier message: 24/10/2006, 15h02
  4. [SQL Server] Calcul durée entre 2 dates sans les dimanches
    Par sarahsonia dans le forum Langage SQL
    Réponses: 6
    Dernier message: 03/04/2006, 17h59
  5. CALCUL D UNE DUREE ENTRE 2 DATES SANS LES DIMANCHES
    Par sarahsonia dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 03/04/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo