gpt4 book ai didi

MYSQL:仅当字段具有文本时才希望使用“自然语言模式下的匹配”将单词与文本字段中的文本进行比较

转载 作者:行者123 更新时间:2023-11-29 09:41:03 25 4
gpt4 key购买 nike

我正在使用

将一些文本与文本字段进行比较
WHERE MATCH(dbase-field) AGAINST('$querystring' IN NATURAL LANGUAGE MODE).

我还想将查询字符串与另一个文本字段进行比较,但问题是如果字段有文本,我想排除不匹配的结果,但如果文本字段为空,我不想排除结果。

换句话说,我不能只是说:

WHERE MATCH(dbase-field) AGAINST('$querystring' IN NATURAL LANGUAGE MODE) AND 
MATCH(dbase-field2) AGAINST('$querystring' IN NATURAL LANGUAGE MODE)

因为我相信当 dbase-field2 上没有匹配项时,这总是会过滤掉结果,但我只希望 d-basefield2 在其中有内容时进行过滤。

我想做的是(伪代码):

WHERE MATCH(dbase-field) AGAINST('$querystring' IN NATURAL LANGUAGE MODE) AND 
if (there is any text in dbase-field2) {
MATCH(dbase-field2) AGAINST('$querystring' IN NATURAL LANGUAGE MODE)
}

有没有办法在 MYSQL 中使用 CASE END 来做到这一点?

最佳答案

你应该能够做到:

WHERE MATCH(dbase-field) AGAINST('$querystring' IN NATURAL LANGUAGE MODE) AND 
(dbase-field2 IS NULL OR
MATCH(dbase-field2) AGAINST('$querystring' IN NATURAL LANGUAGE MODE)
)

关于MYSQL:仅当字段具有文本时才希望使用“自然语言模式下的匹配”将单词与文本字段中的文本进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56606329/

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