在oracle

时间:2017-04-04 07:45:57

标签: oracle

在表格中我们有产品代码字段,我们有2种产品代码

类型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

我不是在数据库中,任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你的第二种代码,总是包含13个字符。如果是这样,那么使用:

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