T-SQL – How to Strip Date from Datetime

sqlt-sql

What is the best way to strip the date from a DATETIME so only time is left to do a comparison?

I know I can do the following:

CONVERT(DATETIME, CONVERT(VARCHAR(8), GETDATE(),8))

But this involves convert and characters. If I wanted to check whether a time (including minutes) was between two other times stored in DATETIME columns, is there an elegant way to do this without having to rely on converting to character strings?

Best Answer

If you're using SQL 2008

SELECT CAST(GETDATE() AS TIME)