Tipo booliano - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tipo booliano

Use o tipo de BOOLEAN dados para armazenar valores verdadeiros e falsos em uma coluna de byte único. A tabela a seguir descreve os três estados possíveis para um valor booleano e os valores de literal que resultam naquele estado. Independente da string de entrada, a coluna booleana armazena e fornece "t" para verdadeiro e "f" para falso.

Estado Valores válidos de literal Armazenamento
Verdadeiro TRUE 't' 'true' 'y' 'yes' '1' 1 byte
Falso FALSE 'f' 'false' 'n' 'no' '0' 1 byte
Desconhecido NULL 1 byte

Você pode usar uma comparação IS para verificar um valor booleano somente como um predicado na WHERE cláusula. Você não pode usar a comparação IS com um valor booleano na SELECT lista.

Exemplos

Você pode usar uma BOOLEAN coluna para armazenar um estado “Ativo/Inativo” para cada cliente em uma tabela. CUSTOMER

select * from customer; custid | active_flag -------+-------------- 100 | t

Neste exemplo, a consulta a seguir seleciona usuários da USERS tabela que gostam de esportes, mas não gostam de teatro:

select firstname, lastname, likesports, liketheatre from users where likesports is true and liketheatre is false order by userid limit 10; firstname | lastname | likesports | liketheatre ----------+------------+------------+------------- Alejandro | Rosalez | t | f Akua | Mansa | t | f Arnav | Desai | t | f Carlos | Salazar | t | f Diego | Ramirez | t | f Efua | Owusu | t | f John | Stiles | t | f Jorge | Souza | t | f Kwaku | Mensah | t | f Kwesi | Manu | t | f (10 rows)

O exemplo a seguir seleciona usuários da USERS tabela para os quais não se sabe se eles gostam de rock.

select firstname, lastname, likerock from users where likerock is unknown order by userid limit 10; firstname | lastname | likerock ----------+----------+---------- Alejandro | Rosalez | Carlos | Salazar | Diego | Ramirez | John | Stiles | Kwaku | Mensah | Martha | Rivera | Mateo | Jackson | Paulo | Santos | Richard | Roe | Saanvi | Sarkar | (10 rows)

O exemplo a seguir retorna um erro porque usa uma comparação IS na SELECT lista.

select firstname, lastname, likerock is true as "check" from users order by userid limit 10; [Amazon](500310) Invalid operation: Not implemented

O exemplo a seguir é bem-sucedido porque usa uma comparação igual (=) na SELECT lista, em vez da IS comparação.

select firstname, lastname, likerock = true as "check" from users order by userid limit 10; firstname | lastname | check ----------+-----------+------ Alejandro | Rosalez | Carlos | Salazar | Diego | Ramirez | true John | Stiles | Kwaku | Mensah | true Martha | Rivera | true Mateo | Jackson | Paulo | Santos | false Richard | Roe | Saanvi | Sarkar |