我的产品编号如下所示:
一个示例产品(包含几个文章)
14.12312.1
14.12312.2
14.12312.3
14.12312.4
14.12312.5
其他示例产品(包含几篇文章)
003.23.1
003.23.66
003.23.44
003.23.77
003.23.5
重要的是点是分隔符:
<producentNumber>.<specialnumber>.<articlevariation>
现在我得到的查询可以采取特定产品的第一部分,例如我可以通过:003.23.
(带有最后一个点),然后它给我所有的开始,所以:
003.23.1
003.23.66
003.23.44
003.23.77
003.23.5
这是这样做的查询:
SELECT ID, Nummer FROM [Cenea].[dbo].[T_Artikel]
WHERE
SUBSTRING(Nummer, 0, LEN(Nummer) + 2 - CHARINDEX('.', REVERSE(Nummer))) IN
(
'003.23.'
)
然而现在是变化,在文章编号的最后部分可能会出现点而不仅仅是数字,所以这意味着我可以这样:
003.23.1
003.23.66..dwqd
003.23.4422.323.3
003.23.77....f
003.23.5
因此,当我通过003.23.
时,在这种情况下,我将得到的不仅仅是003.23.1。逻辑保留,因为它是前两个点持有基地,但在第二个点之后可能有任何东西。问题是如何重建我的sql查询以适应变化以获取alkl文章?
希望一切都清楚,请提供工作代码,因为我必须在今天改变生产。
答案 0 :(得分:0)
您可以使用LIKE获取Number
以<some value>
开头的所有行:
SELECT ID, Nummer FROM [Cenea].[dbo].[T_Artikel]
WHERE Number LIKE '003.23%'