我的MySQL数据库中有很多书。我正在寻找书头中特定的词语。例如,我可以找到每个以单词“dan”开头的书头:
SELECT * FROM books WHERE header LIKE 'dan%';
如何在以特定短语开头的标题中查找单词呢?
提前感谢。
这是一个快速而简单的技巧:以 dan
开头的单词可以出现在 header
的开头或者空格后面,因此:
SELECT * FROM books WHERE header LIKE 'dan%' OR header like '% dan%';
SELECT *
FROM books
WHERE ' ' || header LIKE ' dan%';
唯一的问题是,字符串连接取决于数据库,而问题没有提到数据库。因此,它也可能是:
WHERE ' ' + header LIKE ' dan%';
或者
WHERE CONCAT(' ', header) LIKE ' dan%';
trim()
然后再使用like
?因为header like '% dan%'
在逻辑上意味着单词dan
可以出现在标题的任何位置,而不一定是在开头。 - Rahultrim
来处理像“Rahul and dan are browsing StackOverflow”这样的标题?在'% dan%'
中dan前面的空格验证它是一个单词的开头。 - Mureinik