以字符结尾的字符串

时间:2018-10-19 15:09:42

标签: sql sql-server

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

但是它没有返回正确的结果。

我还想只提取所有以':'结尾的记录

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

谢谢

1 个答案:

答案 0 :(得分:1)

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

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