我需要执行一个简单的sql查询,它只选择由两个单词组成的名称
SELECT NAME FROM GROUP WHERE NAME <Contains exactly two words>
uwopmtnx1#
你可以用 like 以及 not like :
like
not like
where name like '% %' and not like '% % %'
vyswwuz22#
另一个选择是使用 LEN() (当然,我假设没有尾随空格):
LEN()
SELECT [NAME] FROM [GROUP] WHERE LEN([NAME]) - LEN(REPLACE([NAME], ' ', '')) = 1
如果 NAME 列有尾随空格,可以使用 TRIM (对于sql server 2017+)或 LTRIM() 以及 RTRIM() 对于早期版本:
NAME
TRIM
LTRIM()
RTRIM()
SELECT [NAME] FROM [GROUP] WHERE LEN(TRIM([NAME])) - LEN(REPLACE(TRIM([NAME]), ' ', '')) = 1
pepwfjgg3#
如果你想让这两个词同时出现和准确:
SELECT * FROM table WHERE column LIKE '%word1%' AND column LIKE '%word2%'
3条答案
按热度按时间uwopmtnx1#
你可以用
like
以及not like
:vyswwuz22#
另一个选择是使用
LEN()
(当然,我假设没有尾随空格):如果
NAME
列有尾随空格,可以使用TRIM
(对于sql server 2017+)或LTRIM()
以及RTRIM()
对于早期版本:pepwfjgg3#
如果你想让这两个词同时出现和准确: