Sql server 如何在SQL Server中找到当前时间介于特定时间段之间
如何从SQL Server 2005中的getdate()确定当前时间是否介于特定时间段之间。如果是,则必须将标志设置为其他两个标志 差不多Sql server 如何在SQL Server中找到当前时间介于特定时间段之间,sql-server,sql-server-2005,datetime,time,Sql Server,Sql Server 2005,Datetime,Time,如何从SQL Server 2005中的getdate()确定当前时间是否介于特定时间段之间。如果是,则必须将标志设置为其他两个标志 差不多 getdate()时间段介于09:00和18:00之间,然后flag=1 else flag=2 请帮助解决此问题。根据 /* declare @MY_syncDate datetime set @MY_syncDate=getdate() */ SELECT case when CAST(MY_SyncDate AS TIME)
getdate()时间段介于09:00和18:00之间,然后flag=1 else flag=2
请帮助解决此问题。根据
/* declare @MY_syncDate datetime
set @MY_syncDate=getdate()
*/
SELECT case when CAST(MY_SyncDate AS TIME) BETWEEN '9:00' and '18:00' then 1 else 0 end as flag;
SQL2005已经发布了datepart。我会用这个。我不知道你的整个查询,所以这里有一个基于我所知道的我将如何使用它的例子
select timeperiod, datepart(HH,timeperiod), case
when datepart(HH,timeperiod) >= 8 and datepart(HH,timeperiod) < 9 then 1
else 2
end as yourCase
from Visit
选择时间段、日期部分(HH、时间段)、大小写
当datepart(HH,timeperiod)>=8且datepart(HH,timeperiod)<9时,则为1
其他2
随你的便
参观
根据
SQL2005已经发布了datepart。我会用这个。我不知道你的整个查询,所以这里有一个基于我所知道的我将如何使用它的例子
select timeperiod, datepart(HH,timeperiod), case
when datepart(HH,timeperiod) >= 8 and datepart(HH,timeperiod) < 9 then 1
else 2
end as yourCase
from Visit
选择时间段、日期部分(HH、时间段)、大小写
当datepart(HH,timeperiod)>=8且datepart(HH,timeperiod)<9时,则为1
其他2
随你的便
参观
尽管drewlander提出了一个很好的解决方案。我认为这稍微好一点:
SELECT CASE WHEN dateadd(d,-datediff(d, 0, timeperiod), timeperiod)
BETWEEN '1900-01-01T08:00:00' and '1900-01-01T18:00:00'
THEN 1 ELSE 2 END flag
FROM <table>
选择dateadd时的大小写(d,-datediff(d,0,timeperiod),timeperiod)
在“1900-01-01T08:00:00”和“1900-01-01T18:00:00”之间
然后是1或2结束标志
从…起
把白天的部分从datetime制作中去掉是很容易比较的。这也可以用于08:15到18:03这样的时间。尽管drewlander提出了一个非常好的解决方案。我认为这稍微好一点:
SELECT CASE WHEN dateadd(d,-datediff(d, 0, timeperiod), timeperiod)
BETWEEN '1900-01-01T08:00:00' and '1900-01-01T18:00:00'
THEN 1 ELSE 2 END flag
FROM <table>
选择dateadd时的大小写(d,-datediff(d,0,timeperiod),timeperiod)
在“1900-01-01T08:00:00”和“1900-01-01T18:00:00”之间
然后是1或2结束标志
从…起
把白天的部分从datetime制作中去掉是很容易比较的。这也可以用于08:15到18:03这样的时间。SQLServer2005没有
TIME
SQLServer2005没有TIME