0

请看图片 我只想选择表TEST的那些记录,其中TEMPPATH值以 IN ('XGENCISB.CPY', 'XCISTABT.CPY') 结尾。

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

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

提前致谢。

4

3 回答 3

1

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

    select * from TEST where lower(TEMPPATH) LIKE (lower('%.cpy'));
于 2013-01-22T10:45:08.307 回答
1
select * from TEST where TEMPPATH LIKE '%.CPY' OR TEMPPATH LIKE '%.cpy'
于 2013-01-22T10:28:41.637 回答
1

也试试这个: 使用Rightand upper

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;
于 2013-01-22T10:30:55.490 回答