Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 条件Case和LIKE/LIKE_Sql_Postgresql - Fatal编程技术网

Sql 条件Case和LIKE/LIKE

Sql 条件Case和LIKE/LIKE,sql,postgresql,Sql,Postgresql,为什么LIKE/i不使用来自条件Case语句的WHEN SELECT CASE WHEN rating='NC-17' THEN 1 ELSE 0 END AS NC_17, CASE WHEN rating='R' THEN 1 ELSE 0 END AS R, CASE WHEN rating ILIKE 'pg' THEN 1 ELSE

为什么LIKE/i不使用来自条件Case语句的WHEN

    SELECT 
    CASE
        WHEN rating='NC-17' THEN 1
        ELSE 0
    END AS NC_17,
    CASE
        WHEN rating='R' THEN 1
        ELSE 0
    END AS R,
        CASE
        WHEN rating ILIKE 'pg' THEN 1
        ELSE 0
    END AS PG,
    CASE
        WHEN rating ILIKE 'pg___' THEN 1
        ELSE 0
    END AS PG_13,
        CASE
        WHEN rating='G' THEN 1
        ELSE 0
    END AS G
FROM film

首先,为什么不使用布尔列呢。不需要使用
大小写
表达式。其次,错误明确表示转换将有所帮助。这行吗

SELECT (rating = 'NC-17') AS NC_17,
       (rating = 'R') as R,
       (rating ILIKE 'pg'::text) AS PG,
       (rating ILIKE 'pg___'::text) AS PG_13,
       (rating = 'G') AS G
FROM film

首先,为什么不使用布尔列呢。不需要使用
大小写
表达式。其次,错误明确表示转换将有所帮助。这行吗

SELECT (rating = 'NC-17') AS NC_17,
       (rating = 'R') as R,
       (rating ILIKE 'pg'::text) AS PG,
       (rating ILIKE 'pg___'::text) AS PG_13,
       (rating = 'G') AS G
FROM film

用您正在使用的数据库标记您的问题。此外,列的数据类型是什么?评级是什么数据类型?错误消息似乎表示枚举。下次请将错误消息复制到请求中(以纯文本形式)。起初,我没有看到链接,根据您的解释,我认为
ILIKE
没有检测到匹配项,而现在我看到您得到了一个异常。请使用您使用的数据库标记您的问题。此外,列的数据类型是什么?评级是什么数据类型?错误消息似乎表示枚举。下次请将错误消息复制到请求中(以纯文本形式)。起初,我没有看到链接,根据您的解释,我认为,
ILIKE
没有检测到匹配项,而现在我看到您收到了一个异常。您好,戈登,谢谢您的反馈。我只是展示了我所做的第一部分。因此,我的意图是首先这样做,然后对每个“Case”条件求和,得到每个评级的一列sum。我不能用SELECTHello Gordon来做这件事,谢谢你的反馈。我只是展示了我所做的第一部分。因此,我的意图是首先这样做,然后对每个“Case”条件求和,得到每个评级的一列sum。我不能用SELECT做那件事