我理解类型亲和性的概念,并阅读了“SQLite版本3中的数据类型”。我不明白的是,在CREATE语句中声明为NUM(尝试浮点数,双精度等)并且相互相乘的两个字段将生成类型为NULL的结果。有多种方法可以CAST或胁迫或贿赂SQLite,以便在多次声明两个声明的NUM时生成NUM,即:NUM * NUM = NUM?
例如:
CREATE TABLE A (id varchar(3) primary key not null, x real not null, y real not null)
CREATE TABLE B AS SELECT x * y as z from A.
相应的陈述是
CREATE TABLE B(
id TEXT,
x REAL,
y REAL,
z,
任何方式我都能在上面的z旁边获得一个真实的东西吗?
答案 0 :(得分:1)
你需要施放结果:
CREATE TABLE B AS SELECT CAST(x * y AS REAL) as z from A.