今天写业务代码用到,用到数据库查询,其中用到LIKE语句,网上一搜全都一个用法,tmd连博客都一个用法,并不是我想找的,因为实际使用时是和编程语言一起使用的,并不是在pc上或命令行里敲几个命令。
使用场景:有一个输入字符串name,需要把这个name加到sql语句中,然后去查询数据库。
c++用法
std::string name = getParamsFormUrl(request, "name");
if (!name.empty()) {
std::string cmd = "name LIKE '%";
cmd.append(name).append("%'");
condition["SqlCmd"] = cmd;
}
c语言用法
char *name = "xxx";
if (!name.empty()) {
char cmd[128] = {0};
snprintf(cmd, sizeof(cmd), "%s%s%s", "name LIKE '%", name, "%'");
condition["customSqlCmd"] = cmd;
}
因为LIKE中,百分号(%)代表零个、一个或多个数字或字符,下划线(_)代表一个单一的数字或字符。所以这里主要是组织sql语句,即需要组成:name LIKE '%xxx%',可认为要查询名字中包含字符串xxx的记录,不管是c还是c++其实就是将要组成的语句分成三段,然后连在一起。