sql >> Databasteknik >  >> RDS >> Sqlserver

Subtrahera minut från DateTime i SQL Server 2005

SELECT DATEADD(minute, -15, '2000-01-01 08:30:00'); 

Det andra värdet (-15 i det här fallet) måste vara numeriskt (dvs. inte en sträng som "00:15"). Om du behöver subtrahera timmar och minuter skulle jag rekommendera att dela strängen på :för att få timmar och minuter och subtrahera med något liknande

SELECT DATEADD(minute, -60 * @h - @m, '2000-01-01 08:30:00'); 

där @h är timdelen av din sträng och @m är minutdelen av din sträng

EDIT:

Här är ett bättre sätt:

SELECT CAST('2000-01-01 08:30:00' as datetime) - CAST('00:15' AS datetime)


  1. Hur du skyddar din MySQL- eller MariaDB-databas från SQL-injektion:Del två

  2. Ställa in postgres med kolv på win7

  3. MySQL Allvarligt fel:Kan inte öppna och låsa behörighetstabeller:Felaktigt filformat "användare"

  4. Hur gör man Import och Require tillsammans?