Tronquer les secondes et les millisecondes dans SQL
Je vais avoir un peu de mal avec troncature des données. Je suis à l'aide de SQL la fonction GETDATE() pour obtenir la date et l'heure actuelles et de les entrer dans une base de données. Cependant, je ne veux enregistrer la date et l'heure, jusqu'à la minute. En d'autres termes, je veux jj/mm/aaaa hh:mm:00.000 ou jj/mm/aaaa hh:mm pour être sauvé lorsque je saisie de nouvelles données. Comment puis-je faire?
Je note je suis à l'aide de MS-SQL.
OriginalL'auteur Ultracoustic | 2014-06-30
Vous devez vous connecter pour publier un commentaire.
Il y a un certain nombre de façons d'aller à ce sujet.
Par exemple, vous pouvez convertir le générés
datetime
deGetDate()
à unsmalldatetime
d'abord, à la:Pour être clair, ce sera la ronde généré secondes vers le haut (ou le bas) à la minute la plus proche en fonction de la valeur de l'actuelle deuxième.
EDIT:
Alternativement, vous pouvez disposer de SQL Server tronquer un
datetime
pour vous pour un "nettoyeur" (LIRE: pas d'arrondi, puisque la valeur est pré-tronquée) de conversion poursmalldatetime
:OriginalL'auteur László Koller
Pour la troncation:
OriginalL'auteur Anon
Une façon est de le convertir en smalldatetime pour la cession (et le retour).
smalldatetime a toujours des secondes et au-delà de la valeur 00.
Que cela peut arrondir vers le haut ou vers le bas, d'une autre manière, en toute sécurité tronquer les secondes serait celui-ci:
La le code de conversion 120 renvoie le format
yyyy-mm-dd hh:mi:ss
.-1 SELECT CAST('1999-12-31 23:59:30" COMME smalldatetime)
C'est vrai, smalldate rond, de ne pas tronquer.
OriginalL'auteur KekuSemau
Combiner
DATEADD
etSMALLDATETIME
à tronquerOriginalL'auteur StuKay