Tar*_*ski 2 sql progress-db case-statement openedge sql-like
我正在尝试在Progress SQL中做这样的事情(这不是POSTGRES!)
SELECT
CASE WHEN code LIKE '%foo%' THEN 'Y' ELSE 'N' END as foo
FROM
bar
Run Code Online (Sandbox Code Playgroud)
但是Progress不支持LIKE运算符.INSTR看起来它可能会完成这项工作,但它是一个Progress扩展,我正在使用的数据库不支持.是否有另一种使用标准ODBC函数实现此目的的方法?
谢谢
LIKEProgress 4GL中没有运算符.(有一个LIKE关键字,但它用于不同的东西.)而是你需要使用MATCHES或CONTAINS运算符.我从未使用SQL接口进行Progress,但它可能是相同的.
所以你可以尝试:
SELECT
CASE WHEN code MATCHES '*foo*' THEN 'Y' ELSE 'N' END as foo
FROM
bar
Run Code Online (Sandbox Code Playgroud)
注- MATCHES使用*一个通配符代替%.
要么:
SELECT
CASE WHEN code CONTAINS 'foo' THEN 'Y' ELSE 'N' END as foo
FROM
bar
Run Code Online (Sandbox Code Playgroud)