J'ai besoin de changer le type de données pour une colonne de Datetime2(7)
à Datetime
où j'ai beaucoup d'enregistrements avec ce format, ainsi quand j'essaye de changer le type de données j'obtiens l'erreur suivante:Modifier datetime2 à datetime dans SSMS
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
Comment puis-je modifier les données et modifier le type de données pour cette colonne? La raison pour laquelle je dois passer à un type de données moins précis pour une application où elle n'est pas compatible. Cette application se connecte directement donc aucune conversion ne peut être faite dans le code. Je travaille à l'intérieur de SSMS.
fixe une colonne avec:
select *, cast(calldate as datetime)) * from records
Mais pas pour l'autre colonne en utilisant même Cast
- il donne l'erreur hors de portée. Peut-être que certains champs sont nuls - cela serait-il un problème? Si oui j'ai essayé ceci (même erreur):
select *, cast(closedate as datetime) from records where closedate is not null
Essayez ici. http://stackoverflow.com/questions/11081571/how-to-cast-datetime2-as-datetime. Edit: Dans un shell écrou, utilisez Datepart pour diviser le datetime2 en morceaux et utiliser ces pièces pour créer un Datetime – gmalenko
J'ai vu celui-ci, je ne comprends tout simplement pas le code. – OneFineDay
J'ai corrigé une colonne, maintenant l'autre est en erreur. – OneFineDay