With the time data type (I'm using Microsoft SQL Server 2008), is there any way to take only the minute part out of it? I tried to pass the time to datepart and datediff function but both refused to work.

Example: I want to get 15 from 04:15

  • 3
    What do you mean, "refused to work"? See my answer below. Those examples give the desired output. Apr 18, 2012 at 16:35

1 Answer 1

select datepart(minute, '04:15')

Utilize the DATEPART() function, with minute as the datepart param.

declare @current_time time

select @current_time = getdate()

select datepart(minute, @current_time) as current_minute

BOL Reference on DATEPART

  • 3
    I strongly recommend the habit of specifying explicitly the datepart, e.g. MINUTE instead of MI. There are too many shorthand formats that are ambiguous to justify saving a few keystrokes. This very thing gets its own dedicated slide in my popular "Bad Habits to Kick" presentation. :-) Apr 18, 2012 at 17:15
  • @AaronBertrand Good point, and a great suggestion. I've edited my post to reflect! Apr 18, 2012 at 17:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.