【发布时间】:2020-01-13 09:28:49
【问题描述】:
CASE
WHEN CAST(a.category AS VARCHAR) like '%jumpsuits%' THEN CAST(a.google_product_category AS VARCHAR) = 'Apparel & Accessories > Clothing > One-Pieces > Jumpsuits & Rompers'
WHEN CAST(a.category AS VARCHAR) like '%knitwear%' THEN CAST(a.google_product_category AS VARCHAR) = 'Apparel & Accessories > Clothing > Dresses'
WHEN CAST(a.category AS VARCHAR) like '%lounge wear%' THEN CAST(a.google_product_category AS VARCHAR) = 'Apparel & Accessories > Clothing > Shirts & Tops'
ELSE CAST(a.google_product_category AS VARCHAR) END as google_product_category
我面临的问题是:“SYNTAX_ERROR: line 7:6: All CASE results must be the same type: boolean”
我还在之前的子查询中加入了该表,将其转换为 varchar,因此应该没有任何问题。
有人有什么想法吗?
对于上下文,我正在尝试填充一个字段,该字段将返回一个空白,该类别就像我的“喜欢”其他任何我希望它保持原样的东西。
非常感谢
【问题讨论】:
-
在您的前三个分支中,您有一个
=操作,它产生一个布尔值。但最后一个是字符串。那不匹配。要获得更多帮助,您应该edit 问题并发布minimal reproducible example,即CREATE TABLE语句,INSERT INTO语句用于一些示例数据以及将该示例数据作为表格文本的所需结果。 -
category是什么数据类型?转换为 varchar 似乎毫无用处。
标签: sql string postgresql casting case