如何在使用Postgres SQL的情况下使用类似运算符?

问题描述:

我想写一个CASE WHEN子句使用LIKE运算符的SQL语句,但我不知道如何正确格式化语句。如何在使用Postgres SQL的情况下使用类似运算符?

SELECT 
    services.id, 
    (CASE services.description 
    WHEN LIKE '%-' 
     THEN services.amount * -1 
    ELSE services.amount 
    END) AS service_amount 
FROM services 
+0

我知道存储“ - ”在描述不存储负数的理想方式。我目前无法更新代码库或数据库。 –

试试它是这样的:

SELECT 
    services.id, 
    CASE WHEN services.description LIKE '%-' 
     THEN services.amount * -1 
     ELSE services.amount 
    END) AS service_amount 
FROM services