我有2列字符串和字符。我的要求是比较那些2,如果第二列(char)在第一列(字符串)中可用,则答案应该是某个值(比如1)。
我尝试使用翻译,但它不起作用。
可满足上述要求的任何功能。
答案 0 :(得分:1)
Netezza实现了通常的ANSI标准位置功能。
TESTDB.ADMIN(ADMIN)=> select position('BC' in 'ABCDEF');
STRPOS
--------
2
(1 row)
TESTDB.ADMIN(ADMIN)=> select position('BZ' in 'ABCDEF');
STRPOS
--------
0
(1 row)
translate函数会转换源字符串中的某些字符,因此根本不会执行您想要的操作。
TESTDB.ADMIN(ADMIN)=> select translate('ABCDE', 'BE', 'XYZ');
TRANSLATE
-----------
AXCDY
(1 row)
答案 1 :(得分:0)
select
case when
(select
STRPOS(
trim(lower('abc.com')),
trim(lower('xyz'))
)
) > 0
then
1
else
2
end;
要测试此代码,请将第一个字符串替换为“abc.com”,将第二个字符串放在“xyz”处。如果你的第二个字符串出现在第一个字符串中,它将输出1,否则为2。
希望这会有所帮助。