oracle中的筛选器字段

oracle中的筛选器字段,oracle,Oracle,在表中,我们有产品代码字段,我们有两种类型的产品代码 类型1)总是从2号开始,然后是破折号,然后是5号,然后是破折号,最后是2号。例如“12-04442-12” 类型2)总是从2号开始,然后是破折号,然后是7号,然后是破折号,最后是2号。例如“12-0993012-33” 我们需要获取所有记录,当前2个数字(在破折号之前)与最后2个数字(在第二个破折号之后)匹配时,代码类型为2(破折号之间的7个数字) 从这个 12-0993012-33 12-04442-12 07-0005402-07 12-

在表中,我们有产品代码字段,我们有两种类型的产品代码

类型1)总是从2号开始,然后是破折号,然后是5号,然后是破折号,最后是2号。例如“12-04442-12”

类型2)总是从2号开始,然后是破折号,然后是7号,然后是破折号,最后是2号。例如“12-0993012-33”

我们需要获取所有记录,当前2个数字(在破折号之前)与最后2个数字(在第二个破折号之后)匹配时,代码类型为2(破折号之间的7个数字)

从这个

12-0993012-33
12-04442-12
07-0005402-07
12-00052-33
43-0010237-43
一定是这个结果

07-0005402-07
43-0010237-43

我在数据库中不是这样的,谢谢你的帮助。

如果我理解正确,你的第二种代码,总是包含13个字符。如果是,则使用以下方法:

SELECT * FROM your_table
WHERE
LENGTH(your_field) = 13 
AND 
SUBSTR(your_field, 1, 2) = SUBSTR(your_field, -2)

如果我理解正确的话,您的第二类代码总是包含13个字符。如果是,则使用以下方法:

SELECT * FROM your_table
WHERE
LENGTH(your_field) = 13 
AND 
SUBSTR(your_field, 1, 2) = SUBSTR(your_field, -2)