我有一个包含性别和年龄范围的限制列。 我可以使用“MEN”和“WOMEN”的 WHERE 子句来仅返回满足条件的行。但此限制列还包含“青少年”、“成人”和“老年人”等年龄范围,因此我不确定如何指定 WHERE 子句。有时性别和年龄范围限制是未指定的,因此例如对于满足条件“MEN”的行列表,还应返回所有未指定的列。
列示例:
Restriction:
-MEN
-WOMEN
-WOMEN/Teenager
-Anyone
-Men/Senior
-Senior
最佳答案
我建议使用LIKE
运算符。以下是 WHERE
子句的一些示例:
- 要获取所有“男士”字段:
WHERE YOUR_CLM LIKE 'MEN%'
- 要获取所有成人字段:
WHERE YOUR_CLM LIKE '%Adult'
- 要获取所有非高级女性字段:
WHERE YOUR_CLM NOT LIKE '%Senior' AND YOUR_CLM LIKE 'WOMEN%'
注意:如果允许您对数据库架构进行更改,那么我建议将此列拆分为两列,一列用于年龄,另一列用于性别,每列由一个表示存储在值列表表(例如,GendersLOV
表、AgeLOV
表)中的值的 ID
关于mysql - 当 SQL 中列中的值不明确时,如何使用 where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49100619/