我需要执行一个简单的SQL查询,该查询将仅选择那些正好由两个单词组成的名称
SELECT NAME
FROM GROUP
WHERE NAME <Contains exactly two words>
您可以使用like
和not like
:
where name like '% %' and not like '% % %'
另一种选择是使用LEN()
(当然,我假设没有尾随空格(:
SELECT [NAME]
FROM [GROUP]
WHERE LEN([NAME]) - LEN(REPLACE([NAME], ' ', '')) = 1
如果NAME
列中的数据具有尾随空格,则可以使用TRIM
(对于 SQL Server 2017+(或LTRIM()
和RTRIM()
的组合(对于早期版本(:
SELECT [NAME]
FROM [GROUP]
WHERE LEN(TRIM([NAME])) - LEN(REPLACE(TRIM([NAME]), ' ', '')) = 1
如果您希望这两个词都存在且准确:
SELECT *
FROM table
WHERE column LIKE '%word1%'
AND column LIKE '%word2%'