我可以在其他栏中获得字符串位置

时间:2016-04-06 08:57:45

标签: mysql

如果我有两列和数据,如:

第a列 | 第b列

   1    | 1,2,3,4,5
   4    | 1,2,3,4,5
   5    | 1,2,3,4,5

是否有任何函数可以在column a中获得column b位置,第一个数据结果为0,第二个数据为3,第三个应为4

1 个答案:

答案 0 :(得分:2)

您可以使用FIND_IN_SET

SELECT col_a, colb_b,
       FIND_IN_SET(col_a, col_b) - 1 AS result
FROM tab;

SqlFiddleDemo

输出:

╔═══════╦════════════╦════════╗
║ cola  ║   colb     ║ result ║
╠═══════╬════════════╬════════╣
║    1  ║ 1,2,3,4,5  ║      0 ║
║    4  ║ 1,2,3,4,5  ║      3 ║
║    5  ║ 1,2,3,4,5  ║      4 ║
╚═══════╩════════════╩════════╝

如果找不到,您将获得-1

在SQL中,函数大多是基于1的。这就是您需要-1

的原因

我强烈建议您对数据进行规范化,并将原子值存储在列中。