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 :

Décalage Unix timestamp conversion


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut Décalage Unix timestamp conversion
    Bonjour à tous,

    j'essaie de récupérer des données sur une base sql server distante. Parmi les données une colonne date unix timestamp.

    J'essaie de convertir avec la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
     	 DATEADD(SECOND, ma_date, '19700101') as ma_date,
    Mais mon problème j'ai un décalage de 2h, je peux rajouter deux heures mais je pour le mois d'octobre faut que je le modifier encore une fois; et étant donné que c'est des données critique je ne veux pas m’amuser à changer la requête à chaque fois.

    Je vous remercie de votre aide

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 999
    Billets dans le blog
    6
    Par défaut
    Il suffit de jouer sur le bon fuseau horaire ! Convertissez votre données en DATETIMEOFFSET avant de l'extraire.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Il suffit de jouer sur le bon fuseau horaire ! Convertissez votre données en DATETIMEOFFSET avant de l'extraire.

    A +
    Je ne vois pas comment ? c'est dans mon select que je fais cela ?

  4. #4
    Membre expérimenté
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Par défaut
    Je pense que vous vous êtes trompé d'opérateur SQL.

    Essayez plutôt un CAST() ou un CONVERT()

    La votre script va essayer de rajouter des secondes sur une date fixe '19700101' en fonction de votre date (comparer secondes et une date est comme comparer des vaches et des cocotiers)

  5. #5
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Citation Envoyé par evanbarke Voir le message
    Je pense que vous vous êtes trompé d'opérateur SQL.

    Essayez plutôt un CAST() ou un CONVERT()

    La votre script va essayer de rajouter des secondes sur une date fixe '19700101' en fonction de votre date (comparer secondes et une date est comme comparer des vaches et des cocotiers)
    un CAST ou CONVERT ne marche pas

  6. #6
    Membre expérimenté
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Par défaut
    Vous pouvez donner un exemple de votre date en varchar svp?

  7. #7
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Citation Envoyé par evanbarke Voir le message
    Vous pouvez donner un exemple de votre date en varchar svp?
    voila 1373755433

  8. #8
    Membre expérimenté
    Avatar de SQL_EVAN
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2011
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 161
    Par défaut
    Ah je suis désolé, je n'avais rien compris

    En effet, l'approche utilisée dans SQL Server est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(s, 1373755433, '1970-01-01 00:00:00')
    Pour le décalage de 2 heures c'est difficile à dire d'où elles viennent... Si possible ce sera mieux de stocker les données sous un autre format/type de données plus compatible avec SQL Server

  9. #9
    Membre éclairé
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Par défaut
    Citation Envoyé par evanbarke Voir le message
    Ah je suis désolé, je n'avais rien compris

    En effet, l'approche utilisée dans SQL Server est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DATEADD(s, 1373755433, '1970-01-01 00:00:00')
    Pour le décalage de 2 heures c'est difficile à dire d'où elles viennent... Si possible ce sera mieux de stocker les données sous un autre format/type de données plus compatible avec SQL Server
    Malheureusement je n'ai pas la main

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

Discussions similaires

  1. Date, timestamp, conversions et arrondis
    Par koktel_dfr dans le forum SQL
    Réponses: 5
    Dernier message: 09/03/2010, 10h07
  2. insérer unix timestamp dans table
    Par zyongh dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/11/2008, 12h35
  3. Utilisation du Unix TimeStamp
    Par toychief dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 05/02/2008, 22h05
  4. [TIMESTAMP] conversion float -> timestamp
    Par yridwenn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 11/08/2006, 12h10
  5. Soustraire 2 dates en unix timestamp
    Par MaKKrO dans le forum C
    Réponses: 7
    Dernier message: 13/04/2006, 08h29

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