我有一个学校搜索门户网站。我有一个预先搜索表单,用户可以选择课程,学校州等。
点击搜索按钮后,我有以下查询:
select * from tbl_xxx
where state = 'xxx' and city = 'xxx' and area = 'xxx'
and ( course LIKE 'x' or course LIKE 'Std 10')
and gender ='xxx'
其实我的问题在于课程选择。课程字段的表格中的值将类似于以下任何选项:
std 1, std 2 ,std3, std 4
std 10, std 11&12 commerce
std 10, std 11&12 science
std 1, std 2 ,std3, std 4, std 5, std 6, std 7, std 8, std 9, std 10, std 11&12 commerce
std 1, std 2 ,std3, std 4, std 5, std 6, std 7, std 8, std 9, std 10, std 11&12 science
如果我从课程字段中删除所有数据并仅添加“std 10”,则仅显示结果 如果我使用上面给出的查询进行类似运算符搜索,我应该得到最后四个字段,因为它包含'std 10',但我没有得到任何结果。
我知道搜索查询只有一些问题。但我不知道任何运算符而不是LIKE
用于此类问题。
我的申请是在asp.net(C#)。
答案 0 :(得分:0)
您应该查看使用存储过程查询,然后使用ADO.NET to query the DB
...
另外,like
语句需要外卡,例如
select....where course like 'Std 1%'
< - 这将使所有前5个字符为Std 1的课程。