我想用SQL通配符选择只包含一个单词的名称。
i have try
select name from employee where name not like '% %'
它工作,但我想知道是否有其他方法来做到这一点,使用SQL通配符
注:我是一名大学生,我现在正在学习通配符。我只是想知道是否有其他方法来显示数据,除了上面的通配符只包含一个单词。
您的方法可以正确使用通配符,或者您可以根据RDBMS使用CHARINDEX或类似的函数
select name
from employee
where CHARINDEX(' ',name) = 0
同样,patindex函数或类似的函数使用通配符,但这与CHARINDEX几乎相同,只是允许模式,所以如果寻找多个空格,这将是有帮助的。我不认为你使用通配符的方法有太多的变化。 如果您有大型数据库,我建议创建新的索引列word_count
,这将由插入/更新触发器自动填充。因此,您将能够更有效地搜索此类记录。
这就是我使用通配符的方法。另一种方法是:
select name
from employee
where charindex(' ', name) = 0