sql >> Database teknologi >  >> RDS >> Oracle

Når du designer databaser, hvad er den foretrukne måde at gemme flere sande/falske værdier på?

I SQL Server , der er BIT datatype. Du kan gemme 0 eller 1 der, sammenligne værdierne, men ikke køre MIN eller MAX .

I Oracle , du bruger bare NUMBER eller CHAR(1) .

I MySQL og PostgreSQL enhver datatype kan implicit konverteres til BOOLEAN .

Begge systemer understøtter BOOLEAN datatype, som du kan bruge som den er, uden operatorerne, i WHERE eller ON klausuler:

SELECT  *
FROM    mytable
WHERE   col1

, hvilket er umuligt i SQL Server og Oracle (du skal have en slags eller et prædikat der).

I MySQL , BOOLEAN er et synonym for TINYINT(1) .

I PostgreSQL også (med hensyn til opbevaring), men logisk set er den ikke implicit konverterbar til nogen anden type.



  1. Dvale SQL QUERY, problem med TEXT-datatypen i mysql

  2. Kan en UDSAT begrænsning defineres ved hjælp af en Hibernate-annotering?

  3. Hvordan vedligeholder jeg PHP-sessioner på tværs af flere domæner på den samme server?

  4. Sådan erklæres variabel i PostgreSQL