cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
20 mars 2010 à 11:27
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
1 avril 2010 à 13:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 1 avril 2010 à 13:20
C'était juste une info, sinon je ne fais pas de C# ni aucun autre interprété.
En ODBC par C ou ASM, je donne adresse buffer par SQLBindCol() et je fais remplir par SQLFetchScroll() directement en binaire.
muffin516
Messages postés2Date d'inscriptionjeudi 15 juillet 2004StatutMembreDernière intervention 1 avril 2010 1 avril 2010 à 11:53
Question à BruNews pour le commentaire du 31/03/2010 13:51:04 (administrateur CS)
Entièrement d'accord, mais comment faire une comparaison (simple bien sur ) entre deux dates
avec le type datetime.... (sans passer par un découpage 4 octets bas int32 qui représente une date sans minutes et secondes (et à partir de quel jour?) et ensuite comment découper les 4 octets haut pour récupérer heures minutes secondes et millisecondes ???)
je sais que vous avez raison mais je cherchais un moyen simple...
merci quand même d'avoir prêté attention à ce message.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 31 mars 2010 à 13:51
Un champ datetime sur SqlServer c'est 8 octets.
Tu nous dis:
"dans sql server elle est inscrite sous le format : 2010-01-25 12:20:45.123".
Du grand nimporte quoi tout cela.
Ce sont 2 entiers de 32 bits purement en binaire et donc sans aucun format.
Les 4 octets bas (le 1er INT32) contient la date en OleInt - 2.
Exemple: 31/03/2010 sera stocké en 1 entier valant 40266.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 20 mars 2010 à 11:27
Bonjour,
Quand c'est possible stocker la date sous un type datetime et pas varchar/nvarchar (ou char/nchar) sera encore plus simple.
1 avril 2010 à 13:20
En ODBC par C ou ASM, je donne adresse buffer par SQLBindCol() et je fais remplir par SQLFetchScroll() directement en binaire.
1 avril 2010 à 11:53
Entièrement d'accord, mais comment faire une comparaison (simple bien sur ) entre deux dates
avec le type datetime.... (sans passer par un découpage 4 octets bas int32 qui représente une date sans minutes et secondes (et à partir de quel jour?) et ensuite comment découper les 4 octets haut pour récupérer heures minutes secondes et millisecondes ???)
je sais que vous avez raison mais je cherchais un moyen simple...
merci quand même d'avoir prêté attention à ce message.
31 mars 2010 à 13:51
Tu nous dis:
"dans sql server elle est inscrite sous le format : 2010-01-25 12:20:45.123".
Du grand nimporte quoi tout cela.
Ce sont 2 entiers de 32 bits purement en binaire et donc sans aucun format.
Les 4 octets bas (le 1er INT32) contient la date en OleInt - 2.
Exemple: 31/03/2010 sera stocké en 1 entier valant 40266.
20 mars 2010 à 11:27
Quand c'est possible stocker la date sous un type datetime et pas varchar/nvarchar (ou char/nchar) sera encore plus simple.