PostgreSQL将varchar列表示为布尔值
我有以下疑问:PostgreSQL将varchar列表示为布尔值,sql,postgresql,Sql,Postgresql,我有以下疑问: SELECT id, first_name from users; 我想将first\u name列表示为布尔值。如果用户有first\u name则为真,否则为假。如何在PostgreSQL中实现这一点?只需测试是否为非空: SELECT id, CASE WHEN first_name IS NULL THEN 'false' ELSE 'true' END FROM users; SELECT id, first_name is not null as
SELECT id, first_name from users;
我想将
first\u name
列表示为布尔值。如果用户有first\u name
则为真,否则为假。如何在PostgreSQL中实现这一点?只需测试是否为非空:
SELECT id,
CASE WHEN first_name IS NULL THEN 'false' ELSE 'true' END
FROM users;
SELECT id, first_name is not null as has_first_name
from users;
如果您想将空字符串(<代码>”/代码>视为“没有名字”,则可以使用:
SELECT id, nullif(first_name,'') is not null as has_first_name
from users;
挑剔:“false”
不是布尔值,而是字符value@a_horse_with_no_name您是对的,这是“true”。另一方面,如果需要,这些值将隐式转换为布尔值。