14

我想编写一个 SQL SERVER 语句,该语句在以某字开头的字符串中搜索单词的开头。

例如,如果我在公司记录中搜索“他们”,我应该得到:

艾米丽公司

艾美奖

不是

忘记他们

旅鼠有限责任公司

我可以在 PHP 中通过将字符串提取/切片到一个数组中并搜索每个单词的开头来做到这一点。但是如何在不使用存储过程/函数的情况下在 SQL 服务器中编写这个查询呢?

4

4 回答 4

29

JW 的答案将适用于 Em 位于该字段开头的条目。

如果您还需要检索单词不是字符串中第一个单词的值,请尝试:

SELECT * FROM tableName WHERE CompanyName LIKE 'Em%' or CompanyName LIKE '% Em%'

(这是假设所有单词都用空格分隔。)

于 2013-02-08T17:52:55.893 回答
2

采用LIKE

SELECT * FROM tableName WHERE CompanyName LIKE 'Em%'
于 2013-02-08T17:48:04.363 回答
0

另一种选择是CONTAINS,例如:

SELECT ... WHERE CONTAINS(CompanyName, 'Em*');
于 2013-02-08T17:57:45.403 回答
-3

对于 MS 访问:

SELECT * FROM Table1 WHERE Company_Name LIKE 'Word*'

对于更标准的DBMS:

SELECT * FROM Table1 WHERE Company_Name LIKE 'Word%'
于 2021-06-11T16:09:23.247 回答