Bonjour,
Je dois convertir des dates stockées sous format unix en date, j'utilise la requête suivante:
Tout se passe bien sauf pour les dates très lointaines (exemple 31/12/1899 qui est stocké -999999997790924799), ou j'ai un message: arithmetic exception, numeric overflow, or string truncation numeric value is ot of range. Le nombre de secondes à retirées est trop grand.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 WITH CTE AS (SELECT id, champs_date_unix FROM ma_table WHERE champs_date_unix >= 0 UNION ALL SELECT id, (champs_date_unix + 999999999999999999) * -1 FROM ma_table WHERE champs_date_unix < 0) SELECT id , DATEADD(SECOND, champs_date_unix, CAST('1970:01:01' AS DATE)) FROM CTE
Avez-vous une solution, même s'il faut utiliser une autre table?
Merci
Partager