搜索某个名称后跟任何数字(或没有数字)

Search for a certain name followed by any number (or no number)

我想搜索匹配名称后跟可变大小数字(包括无数字)的字段,但我看不到如何使用 PATINDEX 和 LIKE 上的通配符来检测未知数量的数字.

这是我要检查的正则表达式:MYNAME[1-9]*

它必须识别我的名字、我的名字5、我的名字12、我的名字275……

它不应该识别 ANOTHERNAME、MYNAMEXX12、MYNAME12X5、MYNAME12X

PATINDEX 和 LIKE 无法识别正则表达式中的 * 以指示可变位数。

您知道一种方法来搜索零件具有可变尺寸的模式吗?

谢谢。

有点不确定(geddit?)猜猜看,也许是这个?

SELECT *
FROM (VALUES('MYNAME'),('MYNAME5'),('MYNAME12'),('MYNAME275'),('MYNAME654A'))V(N)
WHERE V.N = 'MYNAME'
   OR (V.N LIKE 'MYNAME[0-9]%'
  AND  V.N NOT LIKE 'MYNAME[0-9]%[^0-9]');
DECLARE @Test TABLE (
    Field   VARCHAR(32)
)



 INSERT @Test( Field )
    VALUES
    ('MYNAME'),
    ('MYNAME5'),
    ('MYNAME12'),
    ('MYNAME275'),
    ('MYNAME275TEXT')


SELECT *
FROM @Test
WHERE (
    (   Field = 'MYNAME' 
        OR Field LIKE 'MYNAME[0-9]%'
    )
    AND Field NOT LIKE 'MYNAME[0-9]%[^0-9]%'
    )