请大家帮忙解决下如何写这段SQL的语句
假设数据库中有一学生表(Student)字段结构为SNO(学号)、Name(姓名)、Sex(性别)、Age(年龄),请设计一段SQL程序,让用户输入其中的任意的N个条件(N>=0,N<=4),根据用户的输入找出与之相匹配的记录。(不需要设计用户输入界面,假设用户的输入已存放在四个参数中)(提示:假如用户没有输入任何条件,则就找出表中的所有记录;假如用户输入了姓名为“张三”,性别为“男”,则应找出所有Name=“张三”且Sex = “男”的记录,而不考虑学号和年龄的条件;如此类推。再考虑一下如果有二十或三十个字段,程序应该怎样写
[解决办法]
就是N个IF THEN 。。。 END IF
判断参数是否为NULL,不则累加字符串,得到 WHERE中的条件,可以动手做一下,
不难。
[解决办法]
楼主到底用的什么数据库?
一般来说,两种选择
1。 在你的程序中实现,通过对输入变量的判断生成相应的SQL语句。这个在你其它贴子中已经有很多人回答你了。
2。 在数据库的SQL语句中利用数据库的函数来实现
select * from yourTabhe where Name like nullif(@Name,'%') 但效率显示不如第一种。