在SQL中,LIKE的"opposite"是什么?



我想在我的数据库中做一个搜索,这给了我所有字段的id,一个给定的字符串将包含。如果我有字符串"a, b, c"字段a和b我想要显示出来。有一个简单的方法来做它与SQL?我的脑子好像卡住了。

我可以在字符串的每个可能的子字符串上使用LIKE操作符,或者只是比较没有sql的字符串,但我希望有一个更容易,更好的解决方案。

例如:如果我的表格是这样的:

<表类>id子字符串tbody><<tr>1"你好">2"两个">3"测试">

在Postgresql中可以使用~操作符

WITH test AS (
SELECT 1 as id,
'hello' as str
UNION
SELECT 2 as id,
'two' as str
UNION
SELECT 3 as id,
'test' as str
)
SELECT * FROM test WHERE 'hello, this is a test' ~ str

输出:

id|str  |
--+-----+
1|hello|
3|test |

查看这个查询的实际操作:https://dbfiddle.uk/Tg_ao0tm

一些简单的东西,比如获取所有单词并创建一个IN查询:

var sql = "select * from mytable where searchfield IN (" + string.Join(", " , inputstr.Split(intowords).Select(encodeforSQL)) + ")";

相关内容

  • 没有找到相关文章

最新更新