Bonjour.

Suite à ce problème, j'ai été amené à vouloir comparer une date en deux morceaux, c'est à dire les année/jours/heures et les minutes/secondes/milisecondes.

Le problème de la troncature s'est alors posé.

J'ai lu dans ce post qu'il fallait pour cela convertir la date en char puis à nouveau en date.
J'ai donc essayé cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT
    cast(convert(nvarchar(10),[SyncTime],103)as datetime),
    cast(convert(nvarchar(8),[SyncTime],108)as datetime)
FROM
  [Suppliers]
et effectivement, cela fonctionne correctement.

Cependant, je ne comprend pas du tout comment cela fonctionne (ce qui m'ennuie), mais surtout, j'ai lu que cette méthode n'était pas robuste ici (ce n'est pas forcément une référence, mais j'aimerais savoir pourquoi).

Pourriez-vous m'éclairer sur le sujet ?

D'autre part, le découpage que je voudrais faire serait plutot MM/DD/YYYY HH d'un coté et nn:ss:ms de l'autre. or ici, on ne peut faire que daytime et date et on ne peut avoir les milisecondes.

Bref, si vous avez une idée...

Merci d'avance