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 ]%';
您的版本简单地说明字符串没有不同于数字的字符 -- 也就是说,它仅由数字组成。
我试图排除所有包含数字的名称,但仍包含某些特殊字符,例如: ()-'
到目前为止,我得到了这个查询:
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 ]%';
您的版本简单地说明字符串没有不同于数字的字符 -- 也就是说,它仅由数字组成。