我只想选择表TEST的那些记录,其TEMPPATH值以IN结尾(“ XGENCISB.CPY”,“ XCISTABT.CPY”)。

注意:这些IN子句值将在运行时设置

请在使用子字符串的单个查询中告诉这是否可能?

提前致谢。

最佳答案

也尝试以下操作:使用Rightupper

select * from TEST where upper(Right(TEMPPATH,4)) = '.CPY'
AND TEMPPATH IS NOT NULL;



如果您对regexp感兴趣,请同时阅读以下内容:Regular Expressions in DB2 SQL




根据OP在该问题上的修改进行编辑

假设这两个字符串的长度相同(12或相应调整),您可以尝试

select * from TEST where upper(Right(TEMPPATH,12))
IN ('XGENCISB.CPY', 'XCISTABT.CPY')
AND TEMPPATH IS NOT NULL;

关于java - 在DB2中使用Substring和Instr选择查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14456275/

10-10 13:14