我有一个脚本最多可将 3 个命令行参数传递给 MySQL 查询。它正在查询的表是职业运动员和他们所从事的运动的列表。我在命令行中的参数设置为 -s(用于运动)-i(用于整数)和 -l(用于字母)。
-s 是一个直接的字符串搜索(所以 'Hockey' 返回在 sport 下列出了 'Hockey' 的球员), -i 是一个整数,并且搜索应该返回名字是小于或等于的字符数的球员我的整数,-l 是一个字母,这样搜索就会返回名字以 a 和 '-l' 之间的字母开头的玩家。
目前我的搜索如下:
"Select * from Players_Sport where Sport like '$lsport_search' AND length(Player)<='$linteger_search' AND Player between 'a%' and '$lletter_search%'"
现在这在整数和字母参数不为空时有效,尽管在运动字段为空白时它确实有效。我明白为什么它不起作用(它正在检查 length(Player) < null 和 Player 在 a% 和 null 之间)。我有什么办法可以让它在不为每个可能的迭代编写 if 条件的情况下工作?