我有一个具有以下模式的表,该表应该接受字符串输入并输出给我:

创建表tblA(sName varchar(20),id int);

从tblA中选择*;

insert into tblA (sName, id) values ('Bay', 2), ('Kay', 3), ('May', 4);

select distinct sName
from tblA
where id in ("3,4");


O / P:
    y

我需要:
    y
    可以

有一个发送String的应用程序,而MySQL需要读取该字符串解析并给出输出。应用程序无法发送整数值。在应用程序中,输入仅是id。无论我输入什么,它将被转换为String并将被传递给查询。我的输入将始终用逗号分隔,例如(4,5,6)。每个4、5、6是ID。但是应用程序将(4,5,6)作为单个字符串发送。

最佳答案

尝试

select sName
from tblA
where id in (3, 4)

即从in的参数中删除引号
根据OP的评论进行编辑
select sName
from tblA
where id in ('3', '4')

即单引号并引用id的每个可能值。

关于mysql - 该表以输入作为字符串并进行解析并给出输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19034214/

10-14 13:46
查看更多