如何從Postgres中的字符串類型字段返回布爾值true/false而不是t/f。使用Postgres返回布爾值
SELECT (CASE WHEN status = 'active' THEN true ELSE false END)::boolean AS status
FROM table;
如何從Postgres中的字符串類型字段返回布爾值true/false而不是t/f。使用Postgres返回布爾值
SELECT (CASE WHEN status = 'active' THEN true ELSE false END)::boolean AS status
FROM table;
t
和f
是多麼psql
打印布爾值,它不應該是很重要的。此外,您還可以簡化您的查詢,如下所示:
SELECT status = 'active' AS status FROM table;
如果你真的想要得到文本列status
,請執行下列操作:
SELECT (status = 'active')::text AS status FROM table;
如果你想獲得一個號碼,而不是(0對於假,1爲真),這樣做:
SELECT (status = 'active')::integer AS status FROM table;
查詢的結果對我來說很重要,因爲我在一個庫中使用它在我的php代碼中,結果必須是真/假而沒有雙引號 –
@Nawalel我沒有使用postgres的PHP綁定,但它應該正確處理第一個查詢。如果它不嘗試第三個,它將布爾變換爲0/1。 – redneb
只需使用'1'和'0'值。 – sagi
@sagi:'1'和'0'不是布爾值,那些是數字 –