Convertir datetime à jj/MM/aaaa HH:MM:SS AM/PM
J'ai besoin de convertir ci-dessous la date de la sortie, comme illustré. Je peux obtenir de la partie de la date à l'aide du code 101, mais pour le moment, je ne pouvais pas trouver n'importe quel code qui traduit le temps de HH:MM:SS AM/PM? Des idées s'il vous plaît? Merci!!!!
declare @adddate datetime
Set @adddate = 2011-07-06T22:30:07.5205649-04:00
Convert(varchar, @adddate, 101) + ' ' +
Convert(varchar, @adddate, 108)
La sortie doit être:
07/06/2011 10:30:07 PM
- êtes-vous à l'aide d'un logiciel de reporting? cela est-il utilisé par une application? on dirait que vous essayez de format de données à des fins de visualisation?
- Votre JEU ne fonctionne même pas. Aussi, ne jamais utiliser
varchar
sans longueur. - Également de la sortie souhaitée montre d/m/y, mais le titre de votre montre m/d/y. Pouvez-vous s'il vous plaît confirmer (et expliquer pourquoi vous voulez faire de votre sortie à confusion)?
@adddate
représente 6 juillet, à droite? Voir pourquoi à l'aide de m/d/y ou d/m/y peut être source de confusion? - Je suis désolé à propos de cette partie. Je voulais dire la sortie s/b 07/06/2011. Je vous remercie.
Vous devez vous connecter pour publier un commentaire.
Votre
SET
ne fonctionne même pas. Lorsque vous avez un valide valeur datetime en provenance d'un littéral de chaîne, vous pouvez le faire:Résultat:
Si vous voulez vraiment m/d/y (votre question est ambigüe), il y a un peu plus court chemin à l'aide de style 22:
Résultat:
Cependant, c'est une mauvaise idée pour deux raisons:
les formats régionaux sont source de confusion (un lecteur de connaître le 05/06/2013 est le 6 Mai et non le 5 juin? Dépend d'où ils viennent), et même dangereux (si ils passent cette chaîne, vous pouvez stocker le 5 juin, quand ils voulaient le 6 Mai).
votre langue du client est mieux d'utiliser son propre
Format()
ouToString()
méthodes pour ce format pour l'affichage au dernier moment possible.Il n'y a aucune option de format dans
convert
pour que. Vous aurez besoin d'utiliser DATEPART() la place et de construire la nouvelle chaîne de composants individuels:HOUR
etMINUTE
? L'abréviation peut être ambigu et même déroutant (pour vérifier ce quey
etw
faire, par exemple - pas ce que la plupart des gens).