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

Développement SQL Server Discussion :

Calculer le nombre de secondes à travers une Format time [2012]


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut Calculer le nombre de secondes à travers une Format time
    bonjour a tous
    J'ai tenté a créer une fonction pour calculer le nbre en second du format HH::mm:ss
    Pour cela j'ai penser a cette solution mais je le trouve qu'il n'est pas optimiser surtout que j'était obliger de faire deux convert pour chaque opération de calcul
    cast vers un varchar puis une deuxième cast vers le int
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    declare @a time ='08:40:55'
    select cast(left(cast (@a as varchar),2)as int)*3600+cast(substring(cast (@a as varchar),4,2)as int)*60+cast(substring(cast (@a as varchar),7,2)as int)
    Qui peut m'aider a une deuxième proposition plus court et plus optimiser
    merci

  2. #2
    Membre régulier
    Homme Profil pro
    Chef de projet BI
    Inscrit en
    Août 2013
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Chef de projet BI

    Informations forums :
    Inscription : Août 2013
    Messages : 42
    Points : 82
    Points
    82
    Par défaut
    Bonjour,

    On peut se servir de la fonction datediff et du 01/01/1900 00:00:00.000 comme expliqué ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DECLARE @A TIME ='08:40:55'
    SELECT DATEDIFF(S,0,@A)

  3. #3
    Membre régulier
    Homme Profil pro
    consultant BI
    Inscrit en
    Mai 2011
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suède

    Informations professionnelles :
    Activité : consultant BI
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    oui c'est ça

    j'ai oublier que un simple datediff il répond bien a mon besoin

    parfois la solution est simple et on cherche a le compliquer

    merci bien

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/12/2008, 10h02
  2. Réponses: 4
    Dernier message: 07/09/2006, 15h02
  3. [TSQL] calculer le nombre de mot dans une cellule
    Par ricachu dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 31/07/2006, 11h12
  4. Réponses: 4
    Dernier message: 11/06/2006, 12h05
  5. Réponses: 4
    Dernier message: 16/12/2005, 19h36

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