Modification de Format de Date en SQL
Je suis en train de formater la date de sortie sur cette requête sql à yyyy-mm-dd
(DATEADD(DAY,90,getdate()) output yyyy-mm-dd 00:00:00
J'ai besoin de supprimer 00:00:00
- Qui SGBD que vous utilisez?
Vous devez vous connecter pour publier un commentaire.
Ont un look ici
Le format que vous êtes à la recherche pour suit ce modèle
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
remplacementGETDATE()
avec votre date de valeur.SELECT CONVERT(VARCHAR(10), DATEADD(DAY,90,getdate()) , 120)
Je trouve que CONVERTIR le format 121 habitude, donne-moi tout ce que je veux:
Depuis que je suis presque toujours utiliser uniquement MilDate compatible, triable date de chaînes de caractères, 121 est le seul numéro de style que j'ai à retenir.
Si vous voulez juste la date, puis comme ci-dessus, la limite de la
VARCHAR
longueur de 10.Si vous voulez juste
HH:MM:SS
ensuite utiliserVARCHAR(19)
et étirable dans unRIGHT(.., 8)
.Si vous souhaitez inclure millisecondes pour les mesures de temps, il suffit d'utiliser un VARCHAR(23).
Et si vous ne vous souvenez pas de la longueur de chaîne et les décalages, il suffit d'utiliser VARCHAR(MAX):
Puis de compter à partir de la sortie, et de modifier les longueurs et les
RIGHT(..)
à ce que vous avez besoin. Tellement plus facile que d'avoir à patauger dans l'énormeCAST And CONVERT
page de doc chaque fois que j'ai besoin d'un format DateTime.Utiliser le DATE_FORMAT fonction, comme suit:
Juste besoin d'ajouter un
CONVERT
. Tester ce code:Ou même plus facile à tester:
MODIFIER
Comme @RBarryYoung commenté, en effet, selon votre configuration, il peut retourner un autre format de date et pas exactement celui que vous demandez. L'utilisation de la
CONVERT
en précisant exactement le style que vous voulez, sur ce cas au nombre de 121. Vérifier Microsoft BOL pour plus d'informations au sujet de style et à l'aide deCONVERT
Deux retours: