sql – 字符串以字符结尾

我在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]'

但它没有返回正确的结果.

我还想拉出所有那些以’:’结尾的记录

有人可以分享你的专业知识吗?

谢谢

最佳答案 您可以使用RIGHT来获取最后一个字符:

SELECT * 
FROM @TABLE
WHERE RIGHT(MYVAL,1) != ':';
-- RIGHT(MYVAL,1) LIKE '[A-Z]'
点赞