一条SQL查询语句!模糊查询! 求救!
select * from customer where 是否投保人= ' ' '+flag1+ ' ' ' and 是否被保险人= ' ' '+flag2+ ' ' ' and 是否受益人= ' ' '+flag3+ ' ' ' and 出生日期 like ' '% '+trim(RzEdit1.Text)+ '% ' '
其中flag1,flag2,flag3是我设的变量,代表3个复选框(对应的字段为boolean)的选中状态!这个绝对没有错!
错在: 出生日期 like ' '% '+trim(RzEdit1.Text)+ '% ' ' 这个模糊查询!
其中 出生日期为datetime类型!
运行不报错! 但达不到查询的要求! 当我输入数据库里本来存在的一个日期时查不出这条记录! 那几个flag条件都是选对了的!
当我改成 cast(出生日期 as varchar) like ' '% '+trim(RzEdit1.Text)+ '% ' ' 也不行!!
大家给我看下!!!
[解决办法]
RzEdit1.Text换在datetime类型呀,想问下你,怎么 出生日期 搞个模湖查询呀,要是查询个大于,小于,等于某个日期才合常理的吧
[解决办法]
楼主思路有问题
用 < 和 > 时间段就行了
[解决办法]
)+ '% ' ' 最后再加个 '------ )+ '% ' ' '
[解决办法]
模糊查询只适用于字符型的吧,日期时间类型只能用> 、 <、 =这些条件运算,再者就算把日期转换成字符串,模糊查询也没有任何意义
[解决办法]
个人意见:可以把时间分成三部分,年,月,日,然后再分别对年用‘=’,月用‘=’,日用‘=’,那样只要输入年或月或日的其中任一一项就可以找到符合条件的选项了,虽然用的是精确的查询,但是效果是模糊的查询,我以前用asp实现过这个功能。
[解决办法]
Datetime類型的数据不能用模糊查詢的,可用用between 開始日期 and 結束日期來查詢
[解决办法]
convert(varchar(10),出生日期,120) like ' '% '+trim(RzEdit1.Text)+ '% ' '