从datetime开始的TSQL剥离日期

前端之家收集整理的这篇文章主要介绍了从datetime开始的TSQL剥离日期前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
从DATETIME剥离日期的最佳方法是什么,所以只剩下时间进行比较?

我知道我可以做到以下几点:

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

但这涉及转换和字符.如果我想检查时间(包括分钟)是否存储在DATETIME列中的其他两次之间,是否有一种优雅的方法来执行此操作而不必依赖于转换为字符串?

解决方法

尝试 Essential SQL Server Date,Time,and DateTime Functions的TimeOnly函数
create function TimeOnly(@DateTime DateTime)
returns datetime
as
    begin
    return dateadd(day,-datediff(day,@datetime),@datetime)
    end
go

或者只是在sql Server 2008中将DateTime转换为时间:

declare @time as time
set @time = cast(dateTimeVal as time)

猜你在找的MsSQL相关文章