gpt4 book ai didi

sql - 使用正则表达式搜索 Postgresql 数据库

转载 作者:行者123 更新时间:2023-11-29 13:06:08 26 4
gpt4 key购买 nike

我在 VB.NET 和 ODBC (Windows) 中使用 PostgreSQL 数据库。

我通过将 SELECT 与正则表达式相结合来搜索整个单词的句子,如下所示:

"SELECT dtbl_id, name 
FROM mytable
WHERE name ~*'" + "( |^)" + TextBox1.Text + "([^A-z]|$)"

这在某些情况下搜索效果很好,但由于文本中的语法错误(或其他原因),它有时会失败。例如,如果我有这句话

BILLY IDOL: WHITE WEDDING

会找到“white”这个词。但是如果我有

CLASH-WHITE RIOT

那么将找不到“white”,因为单词“white”的开头之间没有空格。

最简单的解决方案是暂时将句子 :,.\/-= 等中的字符更改或替换为空格。

是否可以在单个 SELECT 行中执行以适合与 .NET/ODBC 一起使用?也许在同一个正则表达式中?

如果是,怎么办?

最佳答案

试试这个:

SELECT 'CLASH-WHITE RIOT' ~ '[[:<:]]WHITE[[:>:]]';

[[:<:]][[:>:]]分别表示单词的开头和结尾

您可以在以下位置找到更多信息:http://www.postgresql.org/docs/9.1/static/functions-matching.html#FUNCTIONS-POSIX-REGEXP

关于sql - 使用正则表达式搜索 Postgresql 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11169152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com