PostgreSQL中的强制转换
我有这个查询,当t.delete_req='1'和t.delete_req='0'时,我需要设置'yes'和'no'PostgreSQL中的强制转换,sql,database,postgresql,casting,Sql,Database,Postgresql,Casting,我有这个查询,当t.delete_req='1'和t.delete_req='0'时,我需要设置'yes'和'no' SELECT t.id,t.activity_id,t.type,t.sub_type,t.name,t.description,t.source, CASE t.delete_req WHEN t.delete_req='1' THEN 'Yes' WHEN t.delete_req='0' THEN 'No' END from "activities" "t" 它抛出和
SELECT t.id,t.activity_id,t.type,t.sub_type,t.name,t.description,t.source,
CASE t.delete_req WHEN t.delete_req='1' THEN 'Yes' WHEN t.delete_req='0' THEN 'No' END from "activities" "t"
它抛出和错误,并说一些铸造问题存在。下面是错误
ERROR: operator does not exist: character = boolean
LINE 2: CASE t.delete_req WHEN t.delete_req='1' THEN 'Yes' WHEN t.de...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
现在我试着这样强制转换,//CAST(t.delete_req AS char)='1'
但我还是不能让它工作。错误是一样的
ERROR: operator does not exist: character = boolean
在表中,t.delete_req是一个字符,定义如下
delete_req character(1) NOT NULL DEFAULT '0'::bpchar,
您必须稍微更改语法(格式清晰): 或
tnx。我错过了那件事
delete_req character(1) NOT NULL DEFAULT '0'::bpchar,
select
t.id,t.activity_id,t.type,t.sub_type,t.name,t.description,t.source,
case t.delete_req
when '1' then 'Yes'
when '0' then 'No'
end
from activities as t
select
t.id,t.activity_id,t.type,t.sub_type,t.name,t.description,t.source,
case
when t.delete_req = '1' then 'Yes'
when t.delete_req = '0' then 'No'
end
from activities as t