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

MS SQL Server Discussion :

colonne de type time


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de nemya
    Inscrit en
    Juin 2004
    Messages
    102
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2004
    Messages : 102
    Par défaut colonne de type time
    salut,
    je suis un nouveau utilisateur de sql server 2005 et je souhaiterais créer une colonne dans une table de type time (seulement heure, minute et seconde) j'ai essayé mais j'ai pas pû.

    Pouvez vous m'expliquer la différence entre datetime et timestamp

    Merci

  2. #2
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    Dans SQL SERVER 2000, tu n'as pas de type pour n'avoir qu'une heure ou alors il faut le mettre en char(8) pour avoir une chaine du style "14:53:14"

    Je pense que c'est toujours le cas dans 2005.

    Le type de données SQL Server timestamp n'a aucun lien avec les dates et les heures. Les timestamps SQL Server sont des nombres binaires qui indiquent l'ordre relatif dans lequel ont lieu les modifications dans une base de données. Le type de données timestamp visait initialement à prendre en charge les algorithmes de récupération SQL Server. Chaque fois qu'une page était modifiée, elle était marquée avec la valeur @@DBTS actuelle et @@DBTS était incrémenté. Cela suffisait pour que la récupération détermine l'ordre relatif dans lequel les pages étaient modifiées, mais les valeurs timestamp n'avaient alors pas de liens entre elles.

    Dans SQL Server 7.0 et SQL Server 2000, @@DBTS est incrémenté uniquement pour une utilisation dans les colonnes timestamp. Si une table contient une colonne timestamp, chaque fois qu'une ligne est modifiée par une instruction INSERT, UPDATE ou DELETE, la valeur timestamp dans la ligne est fixée à la valeur actuelle @@DBTS, puis @@DBTS est incrémenté.

    N'utilisez jamais de colonnes timestamp dans les clés, surtout les clés primaires, car la valeur timestamp change à chaque fois que la ligne est modifiée.

    Pour enregistrer les dates et heures des modifications de données effectuées dans une table, utilisez soit le type de données datetime, soit smalldatetime afin d'enregistrer les événements et déclencheurs destinés à mettre à jour automatiquement les valeurs en cas de modification.

  3. #3
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Salut Hulk,

    Oui, c'est toujours le cas dans 2005. Les premières versions avaient deux types séparés, mais cela a été abandonné en cours de route, je ne sais pas trop pourquoi.

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

Discussions similaires

  1. faire une recherche sur une colonne de type 'time' calculée
    Par jean-gfnet dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/09/2013, 16h02
  2. Intervalle de type datetime avec colonnes date et time
    Par Madfrix dans le forum Requêtes
    Réponses: 9
    Dernier message: 06/03/2011, 00h58
  3. Heure et TimeZone colonne type TIME ?
    Par pcouas dans le forum DB2
    Réponses: 2
    Dernier message: 04/11/2009, 21h23
  4. ajout de colonne de type date time
    Par hoolako dans le forum Informix
    Réponses: 1
    Dernier message: 01/04/2009, 00h10
  5. Réponses: 15
    Dernier message: 05/09/2006, 10h53

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