回 帖 发 新 帖 刷新版面

主题:写SQL遇到的问题

我写SQL语句的时候,要查询某个日期的记录,但我在数据库中的这个日期字段是varchar类型的,只是规定了录入格式为yyyy-MM-dd,现在我不知道如何将一个varchar类型的字段与时间作比较,然后提取符合条件的记录.不能修改数据库将varchar变成日期型,这是公司上面规定好的,不能随便改,有高手指点下吗?到底where后面的条件怎么写?

回复列表 (共8个回复)

沙发

''字段''

板凳

你把客户端界面上输入的日期按照数据库里面的日期格式转换为相应的字符格式,然后进行字符串比较即可得到对应结果

3 楼

假如data的字段是datetime 那么where convert(varchar(10),data,120)=formatdatetime('yyyy-mm-dd',now())
楼猪所说的日期是varchar那么 where 日期字段=formatdatetime('yyyy-mm-dd',now())。
即可

4 楼

用like语句

5 楼


用datetimepicker控件时,可以用datetostr(datetimepicker1.date),这样就可以了啊

6 楼


楼上的肯定是可以的!因为我用过了!

7 楼

where convert(datetime,时间字段)<比较的时间

8 楼

where convert(varchar,date,120)<='2007-12-31' and convert(varchar(10),date,10)>='2007-1-1'
/

我来回复

您尚未登录,请登录后再回复。点此登录或注册