Comment convertir DateTime en un nombre avec une précision supérieure à jours dans T-SQL?
Les deux questions ci-dessous se traduit par le même nombre
SELECT CONVERT(bigint,CONVERT(datetime,'2009-06-15 15:00:00'))
SELECT CAST(CONVERT(datetime,'2009-06-15 23:01:00') as bigint)
Résultat
39978
39978
Le nombre généré sera différent que si les jours sont différents. Il n'y a aucun moyen de convertir le DateTime à un chiffre plus exact, comme nous le faisons dans .NET avec le .Tiques de la propriété?
J'ai besoin d'au moins une minute de précision.
source d'informationauteur Jader Dias
Vous devez vous connecter pour publier un commentaire.
Bien, je voudrais faire comme ceci:
où "1990-1-1' est un arbitraire de la base de données datetime.
rendements 39977.9590277778
Utilisation
DateDiff
pour cela:DatePart
va de l'Année à la baisse, de l'ordre de la Nanoseconde.Plus ici.. http://msdn.microsoft.com/en-us/library/ms189794.aspx
Si le but de cela est de créer une valeur unique de la
date
voici ce que je feraisCette fonction retourne la date et le déclare comme un simple timestamp
CAST pour un flotteur ou une virgule au lieu d'un int/bigint.
La partie entière (avant la virgule) représente le nombre de jours entiers. Après la virgule sont les fractions de jours (c'est à dire, le temps).
Vous pouvez utiliser le T-SQL pour convertir la date avant qu'il arrive à votre .NET programme. C'est souvent plus simple si vous n'avez pas besoin de faire des conversion de date dans votre .NET programme.
Et voici un bigint version de la même