在SQLite中创建VIEW时,将Text列转换/转换为String

时间:2014-11-25 18:49:27

标签: sqlite types casting

我需要在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的任何想法?还有其他方法可以进行此转换吗?这可能吗? 提前致谢

1 个答案:

答案 0 :(得分:0)

表达式是表达式,没有区别:

SELECT field1, CAST(CASE ... END AS INTEGER) AS fieldConverted ...

然而,SQLite使用动态类型;列没有类型,这不太可能改变任何内容。