SQL - 按单词开头搜索

时间:2013-02-08 17:46:26

标签: sql extract

我想编写一个SQL SERVER语句,用于搜索以字符串开头的单词的开头。

例如,如果我在公司记录中搜索'em',我应该得到:

Emily,Inc

The Emmmy

不是

忘了他们

Lemming,LLC

我可以通过将字符串提取/切片成数组并搜索每个单词的开头来在PHP中执行此操作。 但是如何在不借助存储过程/函数的情况下在SQL服务器中编写此查询?

4 个答案:

答案 0 :(得分:18)

JW的回答适用于Em在该领域最开始的条目。

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

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

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

答案 1 :(得分:2)

使用LIKE

SELECT * FROM tableName WHERE CompanyName LIKE 'Em%'

答案 2 :(得分:0)

另一个选项是CONTAINS,类似于:

SELECT ... WHERE CONTAINS(CompanyName, 'Em*');

答案 3 :(得分:-2)

对于 MS 访问:

SELECT * FROM Table1 WHERE Company_Name LIKE 'Word*'

对于更多标准 DBMS:

SELECT * FROM Table1 WHERE Company_Name LIKE 'Word%'