我想编写一个 SQL SERVER 语句,该语句在以某字开头的字符串中搜索单词的开头。
例如,如果我在公司记录中搜索“他们”,我应该得到:
艾米丽公司
艾美奖
不是
忘记他们
旅鼠有限责任公司
我可以在 PHP 中通过将字符串提取/切片到一个数组中并搜索每个单词的开头来做到这一点。但是如何在不使用存储过程/函数的情况下在 SQL 服务器中编写这个查询呢?
JW 的答案将适用于 Em 位于该字段开头的条目。
如果您还需要检索单词不是字符串中第一个单词的值,请尝试:
SELECT * FROM tableName WHERE CompanyName LIKE 'Em%' or CompanyName LIKE '% Em%'
(这是假设所有单词都用空格分隔。)
采用LIKE
SELECT * FROM tableName WHERE CompanyName LIKE 'Em%'
另一种选择是CONTAINS
,例如:
SELECT ... WHERE CONTAINS(CompanyName, 'Em*');
对于 MS 访问:
SELECT * FROM Table1 WHERE Company_Name LIKE 'Word*'
对于更标准的DBMS:
SELECT * FROM Table1 WHERE Company_Name LIKE 'Word%'