MySQL IN()函数问题 - 使用字母数字值

时间:2014-01-30 15:48:17

标签: mysql

我试图通过使用mysql的IN()函数来弄清楚某些情况 问题是:
通过过滤某些列来获取数据,如下所示:

SELECT * FROM TABLE WHERE COL IN (val1,val2,val3....)

它在数字值方面的工作,如...... WHERE COL IN (01,02,03,04..)
但如果值包含像(D01,D02,R01..)这样的字母字母,则它不起作用,如果值为("D01","D02",...),它将起作用
如果有人已经面对这件事,我想得到一些建议。


感谢。

1 个答案:

答案 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我同意。

我希望我已经清除了你的疑虑,至少在某种程度上。