用于存储0..7(八进制)和bool值的列类型(oracle,postgres)

时间:2015-07-23 16:04:55

标签: sql oracle postgresql types ddl

我在Oracle中创建了一个表,我需要创建一个包含以下值0,1,...,6,7的单个列

CREATE TABLE "LOC_DB"."TI_TS" (
    "BIT" CHAR(1)  CONSTRAINT cons_ti_ts_bit CHECK (BIT IN     
('0','1','2','3','4','5','6','7')) 
)

这是唯一的最佳方式?或者,也许,我们有特殊类型(八进制数系统)

(如果 PostgreSQL 问题兴趣

修改1

我被告知这种做法更好:

CREATE TABLE "LOC_DB"."TI_TS" (
    "BIT" NUMBER(1,0) NOT NULL  CONSTRAINT const_ti_ts_bit CHECK (BIT between 0 and 7), 
    "ACTIV" NUMBER(1,0) NOT NULL  CONSTRAINT const_ti_ts_active CHECK (ACTIV in (0,1)), 
)

感谢Matt Allwood,a_horse_with_no_name

0 个答案:

没有答案