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

Requêtes MySQL Discussion :

Requête jour de la semaine


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Requête jour de la semaine
    bonjour ,

    je suis débutant dans le langage mysql
    je recherche un moyen de remplir une colonne de base de donnée par le jours de la semaine(lundi, mardi, mercredi....) suivant une autre colonne de la même table qui elle contient la date numérique
    2019-02-04 = lundi
    2018-09-18 = mardi

    merci d'avance pour votre aide

    cordialement swordsman94

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Bonjour,
    La fonction DayOfWeek te permet de récupérer le numéro du jour de la semaine (1=Lundi, 2=Mardi) en fonction d'une date.
    Pour avoir le nom du jour, je te conseille une table de "traduction", ainsi une simple jointure fera l'affaire.

    Tatayo.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonjour tatayo

    pouvez m'aidez pour la construction de ma requête
    j'ai vue aussi qu'il existe aussi
    DAYNAME() retourne le nom du jour de la semaine [MySQL]

    cordialement
    swordsman94

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Citation Envoyé par swordsman94 Voir le message
    pouvez m'aidez pour la construction de ma requête
    Je peux.
    Mais je pense que tu peux aussi chercher MySQL DayOfWeek() dans ton moteur de recherche préféré, tu vas trouver pléthore d'exemples.


    Tatayo.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 133
    Points : 38 555
    Points
    38 555
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par swordsman94 Voir le message
    bonjour tatayo

    pouvez m'aidez pour la construction de ma requête
    j'ai vue aussi qu'il existe aussi
    DAYNAME() retourne le nom du jour de la semaine [MySQL]

    cordialement
    swordsman94
    il faut utiliser la variable système lc_time_names pour obtenir le jour en français si souhaité

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    bonjour

    après mainte recherche voici la réponse a ma question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET lc_time_names = 'fr_FR';
    UPDATE table cible
    SET    colonne à rectifier =DAYNAME (colonne référence);

    cordialement
    swordsman94

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 378
    Points : 19 055
    Points
    19 055
    Par défaut
    Salut swordsman94.

    Non, ce n'est pas ainsi que l'on fait !
    Vous ne devez pas stocker le libellé du jour de la semaine dans votre table, mais utiliser une vue qui va vous la restituer, si vous en avez besoin.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE IF NOT EXISTS `base`
            DEFAULT CHARACTER SET `latin1`
            DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `test`
    --------------
     
    --------------
    CREATE TABLE `test`
    ( `id`    integer unsigned  NOT NULL auto_increment primary key,
      `date`  date              NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    drop view if exists `vue`
    --------------
     
    --------------
    create view `vue` as
     
    select  date,
            dayname(`date`) as jour
      from  test
    --------------
     
    --------------
    insert into `test` (`date`) values
      ('2018-08-15'),('2019-02-10')
    --------------
     
    --------------
    select * from `test`
    --------------
     
    +----+------------+
    | id | date       |
    +----+------------+
    |  1 | 2018-08-15 |
    |  2 | 2019-02-10 |
    +----+------------+
    --------------
    set lc_time_names = en_US
    --------------
     
    --------------
    select @@lc_time_names
    --------------
     
    +-----------------+
    | @@lc_time_names |
    +-----------------+
    | en_US           |
    +-----------------+
    --------------
    select  *
      from  `vue`
    --------------
     
    +------------+-----------+
    | date       | jour      |
    +------------+-----------+
    | 2018-08-15 | Wednesday |
    | 2019-02-10 | Sunday    |
    +------------+-----------+
    --------------
    set lc_time_names = fr_FR
    --------------
     
    --------------
    select @@lc_time_names
    --------------
     
    +-----------------+
    | @@lc_time_names |
    +-----------------+
    | fr_FR           |
    +-----------------+
    --------------
    select  *
      from  `vue`
    --------------
     
    +------------+----------+
    | date       | jour     |
    +------------+----------+
    | 2018-08-15 | mercredi |
    | 2019-02-10 | dimanche |
    +------------+----------+
    --------------
    COMMIT
    --------------
     
    Appuyez sur une touche pour continuer...
    Pourquoi ? Car si vous changez la date, vous devez aussi changer le jour de la semaine.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    merci
    je vais testé votre formule

    cordialement
    swordsman94

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête DateTime sur une semaine groupée par jour et par heure
    Par cerealkiller dans le forum Langage SQL
    Réponses: 1
    Dernier message: 10/08/2011, 15h54
  2. Requête en fonction d'un jour de la semaine
    Par mezvin dans le forum Langage SQL
    Réponses: 12
    Dernier message: 29/03/2010, 13h34
  3. Requête par jour de la semaine
    Par rudddy dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/01/2008, 23h15
  4. [Access] requête avec jour de la semaine
    Par fabpeden dans le forum Langage SQL
    Réponses: 3
    Dernier message: 11/07/2007, 17h53
  5. Réponses: 3
    Dernier message: 19/04/2002, 00h11

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