使用Substring&选择查询Instr in DB2

时间:2013-01-22 10:22:46

标签: java sql db2

Please see the image 我想只选择表 TEST 的记录, TEMPPATH 值以IN结尾('XGENCISB.CPY','XCISTABT.CPY')。

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

请在使用子字符串的单个查询中判断这是否可行?

提前致谢。

3 个答案:

答案 0 :(得分:1)

select * from TEST where TEMPPATH LIKE '%.CPY' OR TEMPPATH LIKE '%.cpy'

答案 1 :(得分:1)

尝试此操作:使用Rightupper

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

根据OP的问题编辑

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

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

答案 2 :(得分:1)

这是您从@Neji询问的CASES的解决方案:

    select * from TEST where lower(TEMPPATH) LIKE (lower('%.cpy'));