我试图通过使用mysql的IN()函数来弄清楚某些情况
问题是:
通过过滤某些列来获取数据,如下所示:
SELECT * FROM TABLE WHERE COL IN (val1,val2,val3....)
它在数字值方面的工作,如...... WHERE COL IN (01,02,03,04..)
但如果值包含像(D01,D02,R01..)
这样的字母字母,则它不起作用,如果值为("D01","D02",...)
,它将起作用
如果有人已经面对这件事,我想得到一些建议。
感谢。
答案 0 :(得分:1)
SELECT * FROM TABLE WHERE COL IN (val1,val2,val3....)
MySQL使用字母数字作为char类型识别任何标签(列标签或行内的值)。 因此,
WHERE COL IN (01,02,03,04..)
01,02 ..被识别为整数类型,它将从您的表中返回值。
(D01,D02,R01..)
运行此命令将返回错误声明。 正如我之前提到的那样,这些是char类型,因此必须使用“或”。
@Álvaro我同意。
我希望我已经清除了你的疑虑,至少在某种程度上。