我需要在SQLite数据库中创建表的VIEW时强制转换字段:
一个基本的例子是:
表1 { field1 TEXT, field2 TEXT, ......}
CREATE VIEW ViewFromTable as SELECT field1, cast (field2 as INTEGER) as fieldConverted from Table1
其中field2是TEXT列 我想将fielConverted列中的内容转换为INTEGER。
我的真实查询的案例表达如下:
CREATE VIEW ViewFromTable AS
SELECT field1,
CASE
WHEN field2 == "case1" THEN 1
WHEN field2 == "case2" THEN 2
ELSE 3
END
as fieldConverted
FROM Table1
但是,我得到VIEW中列的类型是字段fieldConverted的TEXT,我希望它是INTEGER
对我的查询有关sintaxis的任何想法?还有其他方法可以进行此转换吗?这可能吗? 提前致谢
答案 0 :(得分:0)
表达式是表达式,没有区别:
SELECT field1, CAST(CASE ... END AS INTEGER) AS fieldConverted ...
然而,SQLite使用动态类型;列没有类型,这不太可能改变任何内容。