这个时间段的数据时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的类型是什么类型,定义的当前时间类型是什么类型,怎么去比较
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
需要查找的时间是系统时间,这么才能获得系统时间?
追答now()就是系统当前时间。
你再把格式处理和MinTime,MaxTime一样就行了。
怎么格式处理?
追答时间格式处理,你可以搜索一下相关的函数。。
或者像
DAY(NOW())这样就可以取到号数,,
YEAR(now())取年份,,,
等等,,