Bem, para começar, você precisa saber que não está restrito a usar funções apenas em valores estáticos, você pode usá-las em colunas.
Parece que o que você quer é simplesmente:
SELECT DATEADD(HOUR,-4,YourColumnWithDateTimes)
FROM dbo.YourTable
SELECT DATEADD(HOUR,-4,YourColumnWithDateTimes)
FROM dbo.YourTable