sql >> Databasteknik >  >> RDS >> Oracle

När du designar databaser, vilket är det bästa sättet att lagra flera sanna/falska värden?

I SQL Server , det finns BIT data typ. Du kan lagra 0 eller 1 där, jämföra värdena men inte köra MIN eller MAX .

I Oracle , du använder bara NUMBER eller CHAR(1) .

I MySQL och PostgreSQL alla datatyper är implicit konverterbara till BOOLEAN .

Båda systemen stöder BOOLEAN datatyp som du kan använda som den är, utan operatorerna, i WHERE eller ON klausuler:

SELECT  *
FROM    mytable
WHERE   col1

, vilket är omöjligt i SQL Server och Oracle (du måste ha något slag eller ett predikat där).

I MySQL , BOOLEAN är en synonym för TINYINT(1) .

I PostgreSQL också (när det gäller lagring), men logiskt sett är den inte implicit konverterbar till någon annan typ.



  1. Vältalande där med sammanfoga flera bord

  2. Flera fall när är med utgång på samma rad

  3. Oracle tar inte bort markörer efter stängning av resultatuppsättningen

  4. Hur man använder paketet graphql-type-json med GraphQl