SELECT DATEADD(minute, -15, '2000-01-01 08:30:00');
Der zweite Wert (in diesem Fall -15) muss numerisch sein (d. h. keine Zeichenfolge wie „00:15“). Wenn Sie Stunden und Minuten subtrahieren müssen, würde ich empfehlen, die Zeichenfolge auf dem :aufzuteilen, um die Stunden und Minuten zu erhalten, und mit etwas wie
zu subtrahierenSELECT DATEADD(minute, -60 * @h - @m, '2000-01-01 08:30:00');
wobei @h der Stundenteil Ihres Strings und @m der Minutenteil Ihres Strings ist
BEARBEITEN:
Hier ist ein besserer Weg:
SELECT CAST('2000-01-01 08:30:00' as datetime) - CAST('00:15' AS datetime)