sqlserver2005,要做个时间表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver2005,要做个时间表相关的知识,希望对你有一定的参考价值。

9点到14点是早,14点到晚上9点是晚, 9点到早上9点是夜,

那开始时间和结束时间 我用datetime数据类型怎么合适呢?我纯粹要记录的是9:00之类的时间啊?怎么办。。。。。

列名 数据类型
id int
beginTime datetime 合适吗?
endTime datetime 合适吗?

合适呀,而且应该要用datetime类型,要不然,如果定义成字符型char or varchar,查询时要进行类型转换。如果定义成datetime,只赋值时间之话,则日期自动填充为1900/1/1,如1900/1/1 9:00
判断早,晚,夜的SQL语句:
select case when begintime>=cast('9:00:00' as datetime) and endtime<cast('14:00:00' as datetime) then '早' when begintime>=cast('14:00:00' as datetime) and endtime<cast('21:00:00' as datetime) then '晚' else ‘夜' end
from 表
参考技术A beginTime time 参考技术B 存当天的时间就可以,判断的时候按小时来判断。

以上是关于sqlserver2005,要做个时间表的主要内容,如果未能解决你的问题,请参考以下文章

转---系统字典

Sql server 问题处理

SQLServer2005移植到Oracle10g经验总结

我在安装Microsoft Sql server2005时遇到了问题,如下

sqlserver 2005 触发器,的小问题

怎么用SQL比对两表