Oracle将REPLACE与IN语句一起使用

时间:2014-03-23 19:34:46

标签: sql oracle

我有一串订单类型,用破折号分隔,如00235-3844-42-523-3DF44

我想在我的查询中使用此字符串并替换短划线以将其格式化为WHERE IN子句。我猜这样的地方('00235','3844', '42','523','3DF44')当我在查询炸弹中的WHERE后使用REPLACE函数时。

任何建议。

谢谢, 布赖恩

1 个答案:

答案 0 :(得分:1)

我不知道这个答案是否离你想要的太远了,但是你可以完成一个where子句而不用在某些假设下用破折号分隔字符串。你可以用

WHERE INSTR('00235-3844-42-523-3DF44',str_to_find)!=0

我建议INSTR的原因是令牌化可能更昂贵且更复杂。