我想问一个简单的问题,有没有办法在c++中使用“like”这样的东西
LIKE '%s 我想要在 C++ 中这样的东西,因为如果我想让用户在程序中找到一些东西,这只会匹配所有相关数据。
最佳答案
Regular expressions可以用来实现你想要的。但是有两个问题:
1.) 与简单的 SQL LIKE
关键字相比,它们的使用确实复杂。
2.) 它们只是 C++11 中的标准功能。如果您使用“旧”C++ 编写,则必须使用 Boost.Regex图书馆。
然而...
查看w3schools.com 上的非常基本的LIKE
示例 ,您实际上可以使用普通的 std::string 函数在简单的 C++ 中实现其中的许多功能。
例如,让我们看看这个:
SELECT * FROM Customers WHERE City LIKE '%s';
这只是意味着对于每个字符串,您查看最后一个字符并检查它是否为“s”:
std::string s;
// ...
if (!s.empty() && (s[s.size() - 1] == 's') {
// ...
}
或者这个:
SELECT * FROM Customers WHERE Country NOT LIKE '%land%';
在 C++ 中:
std::string s;
// ...
if (s.find("land") == std::string::npos) {
// ...
}
所以,最后,这实际上取决于您想要使用 LIKE
做什么。
关于c++ - Sql Like在c++中的类似用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22099599/