如何在数据库输入时间类型?

来源:百度知道 编辑:UC知道 时间:2024/06/08 06:55:33
小弟写了个考勤系统,但是数据库方面有个问题,我在表中设置了规定好的上下班时间格式是xx:xx:xx,但是在设置列数据类型只有datetime 和 smalldatetime,而这两种数据类型默认的格式是yyyy-mm-dd hh:mm:ss,所以我每次设定上下班时间后,都会加上日期,而且如果我取出这个数据和打卡时间进行对比,总是上下班时间小于打卡时间,这样就不对了,请问如何设置数据库呢?
我想了一下,把上下班时间字段改称字符串型,就杜绝了自动加入日期的结果,输入的时候是hh:mm:ss格式,后来从数据库取出来用了datetime.parse(str_time)把它们变成时间格式,可不可以用datetime.compare()函数进行对比,对比的对象是系统的当前时间 datetime dt=datetime.now;可以这样写吗?

如果不是,请问怎么写?

可将时间类型定义为datetime,然后以字符串的形式插入即可。

如:

创建表:

create table test
(id int,
createtime datetime)

插入数据:

insert into test values (1,'2015-08-01')

插入后结果如图:

不能这样做。理由,无法对数据库进行日期查询。
解决方法:使用编程语言将日期转为短日期格式就可以正常比较了。。