我创建了一个示例here,我试图将OUT中包含英语元音(a,e,i,o和u)的单元格过滤掉。代码如下所示:
CREATE TABLE t
(cola VARCHAR(100));
INSERT INTO t VALUES ('ddddd');
INSERT INTO t VALUES ('dddda');
INSERT INTO t VALUES ('dddde');
INSERT INTO t VALUES ('ddddi');
INSERT INTO t VALUES ('eei');
INSERT INTO t VALUES ('ffff');
SELECT *
FROM t
WHERE cola LIKE '%[^aeiou]%';
从documentation of SQL Server开始,^
应该删除带有元音的记录,但是不能正常工作(因为它返回的内容如下)。
cola
-----
ddddd
dddda
dddde
ddddi
ffff
但是当我将查询更改为类似下面的内容时,它会按预期工作:
SELECT *
FROM t
WHERE cola NOT LIKE '%[aeiou]%';
并返回如下内容:
cola
-----
ddddd
ffff
我是否误解了^
在这里的使用?谢谢你的高级解释!
编辑:澄清并根据管理员的要求提供更多详细信息。