4

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

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

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

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

谢谢

4

1 回答 1

1

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

SELECT * 
FROM @TABLE
WHERE RIGHT(MYVAL,1) != ':';
-- RIGHT(MYVAL,1) LIKE '[A-Z]'
于 2018-10-19T15:16:33.020 回答