假设我在mysql数据库中有不同列的表 person
柱子是:
姓名,年龄,描述,朋友
我正在尝试使用谷歌应用脚本中的jdbc搜索名称,描述和朋友列中的某个字符串。
结果应该返回一个包含与我的查询匹配的所有行的数组
例如这里是一个数据库:
------------------------------------------
| name | age | description | friends |
------------------------------------------
| John | 20 | "I like Joe" | Joe Jack |
| Joe | 32 | "I like me" | - |
| Jack | 23 | "I like nothing" | - |
------------------------------------------
如果我的查询为Joe
,那么第1行和第2行应该返回,因为Joe
在第1行中出现两次和第2行中的1次。
目前我用的是用名称
搜索一行的内容 function getLine(name)
{
var ret = {};
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var stmt = conn.createStatement();
var res = stmt.executeQuery("SELECT * FROM item WHERE name='" + name + "'");
var numCol = res.getMetaData().getColumnCount();
var i = 0;
while (res.next())
{
while (i < numCol)
{
ret[i]= res.getString(i + 1);
i++;
}
}
return (ret);
}
答案 0 :(得分:3)
Like和OR是您查询的正确关键字。
select *
from item
where name = 'Joe'
or description like concat('%', 'Joe', '%')
or friends like concat('%', 'Joe', '%');