我的MySQL数据库里有很多书。我正在寻找具体的书头。例如,我知道如何找到每个标题以“dan”开头:
SELECT * FROM books WHERE header LIKE 'dan%';
但是如何在标题内找到以某个短语开头的单词(substring)?
提前致谢。
答案 0 :(得分:8)
这是一个快速而肮脏的技巧:以dan
开头的单词可以位于header
的开头,也可以位于空格之后,所以:
SELECT * FROM books WHERE header LIKE 'dan%' OR header like '% dan%';
答案 1 :(得分:2)
稍微简化的是以下逻辑,它在标题的开头添加一个空格:
SELECT *
FROM books
WHERE ' ' || header LIKE ' dan%';
唯一的问题是连接字符串取决于数据库,问题没有提到数据库。所以它也可能是:
WHERE ' ' + header LIKE ' dan%';
或
WHERE CONCAT(' ', header) LIKE ' dan%';