我在SQL Server 2012中有一个具有200万条记录的表。我正在尝试查找所有不以字符结尾的记录,例如示例。
代码:
DECLARE @TABLE TABLE
(
ID INT IDENTITY(1,1),
MYVAL VARCHAR(50)
)
INSERT @TABLE
VALUES ('4639016:42:'),
('3279022:42:'),
('4605907:42:XY'),
('4190078:42:ZS')
我使用的代码:
SELECT *
FROM @TABLE
WHERE MYVAL NOT LIKE '%:[A-Z]'
但是它没有返回正确的结果。
我还想只提取所有以':'结尾的记录
有人可以分享您的专业知识吗?
谢谢
答案 0 :(得分:1)
您可以使用RIGHT
来获取最后一个字符:
SELECT *
FROM @TABLE
WHERE RIGHT(MYVAL,1) != ':';
-- RIGHT(MYVAL,1) LIKE '[A-Z]'