表ProjectAssignmentPaper 中的TypeOfContract字段存的值为“1,2,3,4,5”,数字1,2,3,4,5,对应的值为张三,李四、王五、张飞、项羽,如何查询
时间: 2024-03-01 09:53:44 浏览: 68
您可以使用 MySQL 的 FIND_IN_SET() 函数来查询 TypeOfContract 中包含特定数字的记录,例如:
```sql
SELECT * FROM ProjectAssignmentPaper WHERE FIND_IN_SET('1', TypeOfContract);
```
这将返回 TypeOfContract 包含数字 1 的所有记录。如果您想要查询包含多个数字的记录,您可以使用 AND 运算符连接多个 FIND_IN_SET() 函数,例如:
```sql
SELECT * FROM ProjectAssignmentPaper WHERE FIND_IN_SET('1', TypeOfContract) AND FIND_IN_SET('2', TypeOfContract);
```
这将返回 TypeOfContract 包含数字 1 和 2 的所有记录。同时,您可以使用 CASE WHEN 语句将数字转换为对应的名称,例如:
```sql
SELECT
CASE WHEN FIND_IN_SET('1', TypeOfContract) THEN '张三' ELSE '' END AS '1',
CASE WHEN FIND_IN_SET('2', TypeOfContract) THEN '李四' ELSE '' END AS '2',
CASE WHEN FIND_IN_SET('3', TypeOfContract) THEN '王五' ELSE '' END AS '3',
CASE WHEN FIND_IN_SET('4', TypeOfContract) THEN '张飞' ELSE '' END AS '4',
CASE WHEN FIND_IN_SET('5', TypeOfContract) THEN '项羽' ELSE '' END AS '5'
FROM ProjectAssignmentPaper;
```
这将返回一个包含 TypeOfContract 中数字对应名称的结果集。
阅读全文