chaîne: résultat attendu: p> comme un datetime code>. p> Query Utilisé: P>
SELECT CONVERT(DATETIME, '01/04/2019 01:50:31.230000000', 113)
3 Réponses :
Essayez d'utiliser
declare @vardate varchar(50) = '01/04/2019 01:50:31.230000000' declare @date datetime =convert(date, left(@vardate,23), 103) declare @time time = convert(time, substring(@vardate,12,12), 14) select DATEADD(DAY, DATEDIFF(DAY, @time, @date), CAST(@time AS DATETIME)) AS Result
date code> n'a pas de portion de temps; Cela ne donnera pas le résultat que l'OP veut.
Avez-vous testé cela? Pourquoi pas simplement utiliser DateTime code> ..?
J'ai essayé mais je n'ai pas pu trouver de format converti qui correspond à "DD / MM / AAAAYY HH: MM: SS.MMM"
Le code que vous voulez est:
SELECT CONVERT(datetime,LEFT('01/04/2019 01:50:31.230000000',23),103);
Vous pouvez également utiliser simplement DateTime2 ... Convertir (DateTime2, '01 / 04/2019 01: 50: 31.230000000 ', 103)
convertir cette chaîne, qui est dans le 103 format , fonctionnerait s'il n'avait pas les 6 derniers zéro. Mais cette chaîne peut être convertie juste bien vers une dateTime2. Notez que DateTime n'est pas stocké avec un format dans la table. Cependant, vous pouvez Format A DateTime Retour à une chaîne dans le format spécifique dont vous avez besoin. (commençant par SQL Server 2012) P> Exemple d'exemple: P>
Donc un sous-chaîne code> ou
gauche code> pourrait être utilisé pour ne conserver que 23 caractères.
Puis convertissez-le en une date d'heure.
Puisqu'un DateTime2 est plus précis.
Et un DateTime2 peut être simplement moulé ou converti en une dateTime. P>
La façon dont il est affiché est un réglage. p> col_input_string col_as_datetime col_as_formatted_string
01/04/2019 01:50:31.230000000 2019-04-01 01:50:31.230 01/04/2019 01:50:31.230
31/12/2018 13:33:44.123456789 2018-12-31 13:33:44.123 31/12/2018 13:33:44.123
DateTime code> Les valeurs n'ont pas de format. Ils sont stockés dans un format interne.
Vous voulez style
103 code>. Vérifiez la documentation sur
Convertir code> pour la liste des codes de style.