SQL LIKE 重复 n 次非此字符 [^*]

问题描述 投票:0回答:0

我们有一个 SKU 编码系统,用于指示商品的变体。 通用代码是:

261/TEPU.x.x

具体的变体是这样的:

261/TEPU.A.I
261/TEPU.Z.GS

如何在 SQL 中选择代码 261/TEPU.x.x 的所有变体? 注:x可以换成n个字符

例子: 在表格中我有记录:

261/NOOO.A.I
261/TEPU.A.I
261/TEPU.Z.GS

搭配:

SELECT        PERCENT Item
FROM            dbo.MA_Items
WHERE        (Item + ' ' LIKE '261/TEPU.[^*].[^*]')
ORDER BY Itemt

我获得: 261/特普.A.I

搭配:

SELECT        TOP (100) PERCENT Item, Description, IC_InventoryDivision
FROM            dbo.MA_Items
WHERE        (Item + ' ' LIKE '261/TEPU.[^*].[^*][^*]')
ORDER BY Item

我得到:

261/TEPU.Z.GS

如何只用一个SQL语句就得到两者?

谢谢

对于正则表达式,我应该简单地加一个+来表示1次或多次:

SELECT        PERCENT Item
FROM            dbo.MA_Items
WHERE        (Item + ' ' LIKE '261/TEPU.[^*]+.[^*]+')
ORDER BY Item

获得这个:

261/TEPU.A.I
261/TEPU.Z.GS
sql-like
© www.soinside.com 2019 - 2024. All rights reserved.