我想编写一个SQL SERVER语句,用于搜索以字符串开头的单词的开头。
例如,如果我在公司记录中搜索'em',我应该得到:
Emily,IncThe Emmmy
不是
忘了他们
Lemming,LLC
我可以通过将字符串提取/切片成数组并搜索每个单词的开头来在PHP中执行此操作。 但是如何在不借助存储过程/函数的情况下在SQL服务器中编写此查询?
答案 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%'