我只想选择表TEST的那些记录,其中TEMPPATH值以 IN ('XGENCISB.CPY', 'XCISTABT.CPY') 结尾。
注意:这些 IN 子句值将在运行时设置
请告诉这是否可能在使用子字符串的单个查询中?
提前致谢。
这是您从@Neji 询问的案例的解决方案:
select * from TEST where lower(TEMPPATH) LIKE (lower('%.cpy'));
select * from TEST where TEMPPATH LIKE '%.CPY' OR TEMPPATH LIKE '%.cpy'
也试试这个: 使用Right
and upper
:
select * from TEST where upper(Right(TEMPPATH,4)) = '.CPY'
AND TEMPPATH IS NOT NULL;
regexp
,也可以看看这个:DB2 SQL 中的正则表达式鉴于设置的两个字符串的长度相同(12 或相应调整),您可以尝试
select * from TEST where upper(Right(TEMPPATH,12))
IN ('XGENCISB.CPY', 'XCISTABT.CPY')
AND TEMPPATH IS NOT NULL;