用SQL语句判断系统当前时间在一个时间段内。加急,在线等
这个时间段的数据时MinTime=08:00,MaxTime=19:59。从表dbo.Mst5STimeType中抽取。返回值为TimeTypeCD,TimeTypeNa...
这个时间段的数据时MinTime=08:00,MaxTime=19:59。从表dbo.Mst5STimeType中抽取。返回值为TimeTypeCD, TimeTypeName 。如果在在这个时间段内,其中TimeTypeCD返回的是1,TimeTypeName 返回的是白天。部分代码为
SELECT
TimeTypeCD,
TimeTypeName
FROM
dbo.Mst5STimeType
WHERE
ORDER BY TimeTypeCD
请问 。WHERE里应该怎么写条件
MinTime和MaxTime的类型是什么类型,定义的当前时间类型是什么类型,怎么去比较 展开
SELECT
TimeTypeCD,
TimeTypeName
FROM
dbo.Mst5STimeType
WHERE
ORDER BY TimeTypeCD
请问 。WHERE里应该怎么写条件
MinTime和MaxTime的类型是什么类型,定义的当前时间类型是什么类型,怎么去比较 展开
3个回答
展开全部
SELECT
case when
CONVERT(varchar(12) , 时间,108 ) between '08:00:00' and '19:59:59' then 1 else 0 end as TimeTypeCD,
case when
CONVERT(varchar(12) , 时间,108 ) between '08:00:00' and '19:59:59' then '白天' else '黑夜' end
as TimeTypeName
FROM
dbo.Mst5STimeType
ORDER BY TimeTypeCD
不用加where条件了,是不是叫黑夜我也不知道,那地方你自己改一下吧,不懂再问
case when
CONVERT(varchar(12) , 时间,108 ) between '08:00:00' and '19:59:59' then 1 else 0 end as TimeTypeCD,
case when
CONVERT(varchar(12) , 时间,108 ) between '08:00:00' and '19:59:59' then '白天' else '黑夜' end
as TimeTypeName
FROM
dbo.Mst5STimeType
ORDER BY TimeTypeCD
不用加where条件了,是不是叫黑夜我也不知道,那地方你自己改一下吧,不懂再问
追问
TimeTypeCD已经在数据库的表中写好了分别是1和2
TimeTypeName 也已经写好了了是白天和黑夜
TimeTypeCD是主码
1对应着白天,2对应着晚上
我想用加WHere条件的
CONVERT(varchar(12) , 时间,108 ) 是什么意思我不明白
追答
是sqlserver数据库吧
你直接select CONVERT(varchar(12) , getdate(),108 )
执行一下就知道是什么了,是返回的时间格式
你的条件是要判断当前时间是不是在你定义的时间段内吗?
如果是在你定义的时间内则选1和白天,否则就选2和黑夜?
那就这样
SELECT
case when
CONVERT(varchar(12) , getdate(),108 ) between '08:00:00' and '19:59:59' then 1 else 2 end as TimeTypeCD,
case when
CONVERT(varchar(12) , getdate(),108 ) between '08:00:00' and '19:59:59' then '白天' else '黑夜' end
as TimeTypeName
FROM
dbo.Mst5STimeType
ORDER BY TimeTypeCD
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查找之间数据,可以用:between
你确定,MinTime和MaxTime的类型一致就可以了。
SELECT TimeTypeCD,TimeTypeName FROM dbo.Mst5STimeType WHERE [要查找时间] between MinTime and MaxTime order by TimeTypeCD
要查找时间可以是NOW()也可以是你页面需求指定的一个时间等。。。
你确定,MinTime和MaxTime的类型一致就可以了。
SELECT TimeTypeCD,TimeTypeName FROM dbo.Mst5STimeType WHERE [要查找时间] between MinTime and MaxTime order by TimeTypeCD
要查找时间可以是NOW()也可以是你页面需求指定的一个时间等。。。
更多追问追答
追问
需要查找的时间是系统时间,这么才能获得系统时间?
追答
now()就是系统当前时间。
你再把格式处理和MinTime,MaxTime一样就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MinTime和MaxTime类型要一致,才可以比对,SubString 截取 ,Between and 范围
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询