Précédent   Forum du club des développeurs et IT Pro > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 15/12/2012, 19h31   #1
Osef95
Invité de passage
 
Homme
Consultant communication & réseaux
Inscription : décembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant communication & réseaux
Secteur : Finance

Informations forums :
Inscription : décembre 2012
Messages : 2
Points : 0
Points : 0
Par défaut conversion champ type int vers type date

Salut à tous,

voila j'ai un champ d'une table de type int representant une date. J'aurais besoin de la convertir en date type string (DD/MM/YYYY).

J'ai parcouru le net avant de poster ici mais je n'arrive pas à trouver....

J'ai essayé cette requete:

Code :
1
2
3
select cast(cast(2456147 asdatetime)asdatetime)
normalement je devrais avoir une date du genre 2012-12-15 je pense

et voici le résultat que j'obtiens :

Code :
8624-09-14 00:00:00.000
est ce qu'il y aurait quelqu'un qui pourrait me dire ce que j'ai pu oublier ?

Merci pour votre aide,
Osef95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 06h06   #2
elsuket
Modérateur

 
Avatar de elsuket
 
Homme Nicolas Souquet
Administrateur de base de données
Inscription : janvier 2005
Messages : 4 972
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Souquet
Âge : 31
Localisation : Thaïlande

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2005
Messages : 4 972
Points : 10 111
Points : 10 111
Bonjour,

J'ai cherché ce que peut représenter le nombre 2456147, mais je n'ai pas trouvé : j'ai soustrait ce nombre au 15 Décembre 2012 sur la partie jours et minutes, cela ne donne rien de remarquable.

Pourriez-vous préciser ce que représente ce nombre ?

@++
__________________
"Les mots sont des mots, les explications des explications, les promesses des promesses; mais seule la performance est tangible." Harold Geneen.
Blog | Profil | MVP SQL Server | Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012
elsuket est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 09h46   #3
Osef95
Invité de passage
 
Homme
Consultant communication & réseaux
Inscription : décembre 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Consultant communication & réseaux
Secteur : Finance

Informations forums :
Inscription : décembre 2012
Messages : 2
Points : 0
Points : 0
Bonjour elsuket,

Dans le modele de données les dates et heures sont stockées dans des champs distincts de ma table. donc ce nombre represente une date sans l'heure.

@+
Osef95 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2012, 10h09   #4
Rei Ichido
Membre Expert
 
Inscription : août 2009
Messages : 1 013
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 1 013
Points : 1 533
Points : 1 533
S'il s'agit d'un nombre de jours, ça fait 6730 années ...
Rei Ichido est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2012, 10h29   #5
serge0934
Membre émérite
 
Homme Serge RUQUET
Consultant informatique
Inscription : août 2006
Messages : 721
Détails du profil
Informations personnelles :
Nom : Homme Serge RUQUET
Âge : 51
Localisation : France

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

Informations forums :
Inscription : août 2006
Messages : 721
Points : 920
Points : 920
j'ai déjà vu ce stockage sur des vieux systèmes mais je ne suis pas sur que ce soit cela

en fait le stockage se fait en enlevant les séparateurs de date et convertissant le char en int

on aurait donc 2456147 => 24 mn 56 s 147 millis

pour 23h 59 on aurait 235900000

idem pour les jours

20/12/2012 => 20122012 ( tiens c'est symétrique , c'est pas volontaire)
__________________
Errare humanum est, perseverare diabolicum (Sénèque)
serge0934 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h23.


 
 
 
 
Partenaires

Hébergement Web