mysql - 当 SQL 中列中的值不明确时,如何使用 where 子句?

标签 mysql sql

我有一个包含性别和年龄范围的限制列。 我可以使用“MEN”和“WOMEN”的 WHERE 子句来仅返回满足条件的行。但此限制列还包含“青少年”、“成人”和“老年人”等年龄范围,因此我不确定如何指定 WHERE 子句。有时性别和年龄范围限制是未指定的,因此例如对于满足条件“MEN”的行列表​​,还应返回所有未指定的列。

列示例:

Restriction:

-MEN

-WOMEN

-WOMEN/Teenager

-Anyone

-Men/Senior

-Senior

restriction columns

最佳答案

我建议使用LIKE运算符。以下是 WHERE 子句的一些示例:

  1. 要获取所有“男士”字段:WHERE YOUR_CLM LIKE 'MEN%'
  2. 要获取所有成人字段:WHERE YOUR_CLM LIKE '%Adult'
  3. 要获取所有非高级女性字段:WHERE YOUR_CLM NOT LIKE '%Senior' AND YOUR_CLM LIKE 'WOMEN%'

注意:如果允许您对数据库架构进行更改,那么我建议将此列拆分为两列,一列用于年龄,另一列用于性别,每列由一个表示存储在值列表表(例如,GendersLOV 表、AgeLOV 表)中的值的 ID

关于mysql - 当 SQL 中列中的值不明确时,如何使用 where 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49100619/

相关文章:

mysql - 联合选择列不匹配

mysql - mysql中使用伪递归函数优化查询

mysql - 如何限制通过查询从表中删除行?

mysql - sql和mysql以及phpmyadmin的区别

sql - SQL 中结果行集的总和

php - 如何安装和配置最新的xampp、php、Mysql、apache服务器,并使用dreamviewer进行配置

java - 创建具有多个主键的联接表?

php - 根据 2 个组合框的选择搜索数据库 - php

sql - 将行/记录中的多个数据合并到带有逗号分隔字段的一行中

sql - 处理这个 sql 逻辑的更好方法是什么?