我想只选择表 TEST 的记录, TEMPPATH 值以IN结尾('XGENCISB.CPY','XCISTABT.CPY')。
注意:这些IN子句值将在运行时设置
请在使用子字符串的单个查询中判断这是否可行?
提前致谢。
答案 0 :(得分:1)
select * from TEST where TEMPPATH LIKE '%.CPY' OR TEMPPATH LIKE '%.cpy'
答案 1 :(得分:1)
尝试此操作:使用Right
和upper
:
select * from TEST where upper(Right(TEMPPATH,4)) = '.CPY'
AND TEMPPATH IS NOT NULL;
regexp
感兴趣,请同时查看此内容:Regular Expressions in DB2 SQL 鉴于这两个字符串的长度相同(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'));