Eh bien, pour commencer, vous devez savoir que vous n'êtes pas limité à utiliser des fonctions uniquement sur des valeurs statiques, vous pouvez les utiliser sur des colonnes.
Il semble que ce que vous vouliez soit simplement :
SELECT DATEADD(HOUR,-4,YourColumnWithDateTimes)
FROM dbo.YourTable