Je crois que j'ai un problème avec la façon dont SQL Server 2000 gère les nombres hexadécimaux.Gestion hexadécimale SQL Server
Si je fais un
select * from table where [timestamp] = 44731446
la ligne qui retourne montre l'horodatage comme 0x0000000202AA8C36
même dans une autre table si je
select * from table2 where [timestamp] = 44731446
la ligne qui retourne montre l'horodatage comme 0x0000000002AA8C36 (notez le 2 manquant)
MS Calc me dit que le premier timestamp = 8634666038 en décimal et le second timestamp = 44731446 en décimal qui correspond à ma requête d'origine sur les deux tables.
Alors pourquoi SQL Server renvoie-t-il un nombre différent, mais l'interroge avec succès? Je crois que c'est la route d'un problème de mise à jour que j'ai où la rangée ne mettra pas à jour.
Quel type de données est votre champ d'horodatage? Le type de données est-il le timestamp? – JNK
Oui son horodatage –
J'ai eu une idée que c'était quelque chose à voir avec le type de données étant trop petit (et tronquant le supplément 2). J'ai changé le type de données d'horodatage en int et il semble bien fonctionner maintenant. Des idées pourquoi? –