Convertir getdate() int
Lorsque j'exécute la requête suivante:
select convert(int, getdate())
- Je obtenir le résultat:
-----------
41238
(1 row(s) affected)
Personne ne sait ce que cela signifie?
Allright! Trouvé la réponse déjà. C'est le jours.
Non, c'est les jours depuis 1/1/1900.
Yep! Mais cela dépend de ce SGBD que vous utilisez, à droite? Ou la totalité d'entre eux commencent à compter à 1/1/1900?
Dépend, ils ont peut-être, mais probablement pas. Demandez-nous ce que vous êtes vraiment la recherche et nous pouvons fournir une solution, ou êtes-vous juste de jouer avec
En fait, je cherchais comment convertir un int en datetime. Une chose en entraînant une autre...
SELECT dateadd(day, convert(int, getdate()), '01/01/1900')
Non, c'est les jours depuis 1/1/1900.
Yep! Mais cela dépend de ce SGBD que vous utilisez, à droite? Ou la totalité d'entre eux commencent à compter à 1/1/1900?
Dépend, ils ont peut-être, mais probablement pas. Demandez-nous ce que vous êtes vraiment la recherche et nous pouvons fournir une solution, ou êtes-vous juste de jouer avec
convert()
?En fait, je cherchais comment convertir un int en datetime. Une chose en entraînant une autre...
OriginalL'auteur Danilo Lima | 2012-11-26
Vous devez vous connecter pour publier un commentaire.
Ses le nombre de jours depuis que je pense
1/1/1900
, sql-server maintient le nombre de jours depuis.Essayez de diviser ce nombre par environ 365.
Vous devriez obtenir la valeur de retour dans les années (112).
Depuis 1900 + 112 = 2012
OriginalL'auteur JonH
C'est parce que SQL natif maintient le nombre de jours depuis
01/01/1900
La décimale après la valeur de l'entier est le temps.
32.5
serait égal à02/01/1900 12:00 pm
Si vous cherchez à obtenir et de travailler avec une partie seulement de la date sous la forme d'un nombre entier je vous conseille d'utiliser datepart
Cette déclaration ne revenir que le mois et de convertir cette valeur en nombre entier.
OriginalL'auteur Malkus