Oracle
 sql >> база данни >  >> RDS >> Oracle

Когато проектирате бази данни, какъв е предпочитаният начин за съхраняване на множество стойности true/false?

В SQL Server , има BIT тип данни. Можете да съхранявате 0 или 1 там, да сравнявате стойностите, но не и да изпълнявате MIN или MAX .

В Oracle , просто използвате NUMBER или CHAR(1) .

В MySQL и PostgreSQL всеки тип данни може имплицитно да се конвертира в BOOLEAN .

И двете системи поддържат BOOLEAN тип данни, който можете да използвате такъв, какъвто е, без операторите, в WHERE или ON клаузи:

SELECT  *
FROM    mytable
WHERE   col1

, което е невъзможно в SQL Server и Oracle (трябва да имате някакъв вид или предикат там).

В MySQL , BOOLEAN е синоним на TINYINT(1) .

В PostgreSQL също (от гледна точка на съхранение), но логично, не е имплицитно конвертируем в друг тип.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ефективен начин за актуализиране на всички редове в таблица

  2. ora-01406 Грешка при извличане на стойности чрез OCI

  3. Как да стартирате Opatch в неинтерактивна форма

  4. Защо проверката за null забавя тази заявка?

  5. Филтриране по ден от седмицата