【发布时间】:2020-07-28 03:47:58
【问题描述】:
我想在time 格式上使用CASE Statement 做出决定。但是无法使用time 格式做出正确的决定,因为我的时间范围的结束时间小于开始时间。让我用代码解释一下;
DECLARE @Startdate datetime
DECLARE @START_TIME time(0)
DECLARE @END_TIME time(0)
SET @Startdate='2020-04-15 16:00:00.000'
SET @START_TIME='15:30:00'
SET @END_TIME='01:29:59'
select
CASE WHEN CAST(@Startdate as time(0)) between @START_TIME and @END_TIME THEN 1 ELSE 0 END
我在 DB 中也有如下表;
ID START_TIME END_TIME
1 05:30:00 15:29:59
2 15:30:00 01:29:59
只是我想检查即将到来的datetime 值与ID 完全匹配的时间。我不在乎日期部分。我怎样才能做到这一点?
提前谢谢你。
【问题讨论】:
-
您的 SQL 数据库是什么(例如 MySQL、SQL Server、Oracle 等)?
-
Microsoft SQL Server
标签: sql sql-server tsql date time