和函数没有按预期工作LOCATE
。FIND_IN_SET
如果每个函数的结果为 0 值,则其结果应为 1。
价值观
concat(',',t_insercion.fkCno2011,',')
值为 ,305,
v_curso_cnos.cnos
值为 ,,305,606,
功能
locate(v_curso_cnos.cnos, concat(',',t_insercion.fkCno2011,','))
find_in_set(concat(',',t_insercion.fkCno2011,','), v_curso_cnos.cnos)
查询是:
SELECT r_cursoalumno.fkCurso AS idCurso,
r_cursoalumno.fkPersona AS persona,
v_curso_cnos.cnos,
concat(',',t_insercion.fkCno2011,',') as idCno,
locate(v_curso_cnos.cnos, concat(',',t_insercion.fkCno2011,',')) as cmp1,
find_in_set(concat(',',t_insercion.fkCno2011,','), v_curso_cnos.cnos) as cmp2
FROM v_curso_cnos
INNER JOIN (r_cursoalumno
LEFT JOIN t_insercion ON r_cursoalumno.fkPersona = t_insercion.fkPersona)
ON v_curso_cnos.id = r_cursoalumno.fkCurso
WHERE r_cursoalumno.fkPersona = 20386
查询结果是这样,但locate和find_in_set应该返回一个非零值。他们为什么不呢?
idCurso persona cnos idCno cmp1 cmp2
____________________________________________________
453 20386 ,,305,608, ,305, 0 0