关于sql server中根据时间条件模糊查询的SQL语句

来源:百度知道 编辑:UC知道 时间:2024/09/18 03:57:59
我存储在数据库里面的时间类型是(年月日时分秒)的,但是现在我想通过从文本框输入一个(年月日)类型的时间去检索数据库,想要得到的数据是(数据库里的时间的年月日与输入的时间相同的记录),即通过输入一个0000—00-00这种类型的日期,检索数据库里datetime字段与所输入日期是同一天的所有记录(时分秒不管,只要年月日相同的都要)。我写了这样的语句,但是不成功
select * from tb_tongji where convert(varchar(10),datatime,120)='"+txtdatatime.text+"'(datatime是数据表里表示时间的字段;txtdatatime是输入时间的文本框)
select * from tb_tongji where datediff(day,datatime,'txtdatatime.text')=0
那位高手帮一下啊,谢谢了!!

c# 写法不太明白
理论这样实现比较简单,你把用户输入的转换成时间类型
比方输入:2009-5-5 转换成时间为2009-5-5 0:0:0 然后查询时
时间大于等于这个时间,并小于时间加1天的数据
就是:
datatime >='2009-5-5 0:0:0' and datatime <'2009-5-6 0:0:0'

select * from tb_tongji where datediff(day,datatime,cast('txtdatatime.text' as datetime))=0

select * from tb_tongji where cast(datatime as date)='"+txtdatatime.Text.Trim()+"'

select * from tb_tongji where convert(varchar(10),datatime,120)LIKE'%"+txtdatatime.text+"%'