Remove minutes from datetime - sql

房东的猫 提交于 2021-02-16 15:00:27

问题


DECLARE @MinutesToAdd int = 20; 
DECLARE @StartTimeDate datetime = '2017-06-05 14:37:56.113';  
DATEADD(minute,@MinutesToAdd,@StartTimeDate);

Code above adds 20 minutes to StartTimeDate. Is there a good way to remove those 20 minutes not add? Tried to find a solution, but didn't catch one. Any ideas?


回答1:


You don't have any specific function to subtract any dateparts

Just add negative symbol in front

Select DATEADD(minute,-@MinutesToAdd,@StartTimeDate);

or multiply with -1

Select DATEADD(minute,@MinutesToAdd * -1 ,@StartTimeDate);



回答2:


Try this:

 DECLARE @MinutesToAdd int = -20; 
    DECLARE @StartTimeDate datetime = '2017-06-05 14:37:56.113';  
    select DATEADD(minute,@MinutesToAdd,@StartTimeDate);


来源:https://stackoverflow.com/questions/44582802/remove-minutes-from-datetime-sql

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!