SQL 查询以排除名称末尾的数字、括号或特殊字符

SQL query to exclude numbers, brackets or special characters at the end of a name

我试图排除所有包含数字的名称,但仍包含某些特殊字符,例如: ()-'

到目前为止,我得到了这个查询:

SELECT 来自客户端的 FirstName WHERE FirstName NOT LIKE '%[^0-9]%';

这排除了大多数带有数字的名字,但是,像下面这样的一些名字仍然存在(未被排除):

我如何从上面排除这些,但仍然保留看起来像下面的行:

提前致谢!

I'm trying to exclude all names with numbers in it.

假设你使用的是SQL服务器,你的逻辑有太多否定。你想要:

WHERE FirstName NOT LIKE '%[0-9]%';

这意味着 FirstName 中没有任何数字。

如果您想要仅包含字母和空格的名称,请使用:

WHERE FirstName NOT LIKE '%[^a-zA-Z ]%';

您的版本简单地说明字符串没有不同于数字的字符 -- 也就是说,它仅由数字组成。