我创建了下表:
CREATE TABLE test (a INT,b INT);
我插入一些数据后:
INSERT INTO test VALUES(1,2);
执行此SELECT时:
SELECT cast(b as real) as x, a * b as y FROM teste
字段“x”和“y”以数据类型TEXT返回。我正在使用Delphi和SQLiteStudio 2.1.5,并且都返回相同的数据类型。
我需要那个字段x是实数而y是int。
有人可以帮助我吗?
答案 0 :(得分:0)
对我而言,奇怪的是,在Sqlite中,列类型是“推荐”。但分析这个我改变了我的程序。我用正确的类型手动创建了字段。所以该计划开始运作。
问题是当您打开查询并且Delphi自动创建列时。在这种情况下,使用强制转换或数学运算的列创建为文本字段。
答案 1 :(得分:0)
Sqlite没有列数据类型。这只是文字。根据您的表达式,它会尝试为您进行转换。对于您的数学表达式,您需要进行强制转换,以便为delphi创建所需的列类型提示。