SQLite不会转换为整数

时间:2017-02-02 09:15:13

标签: string sqlite casting integer type-conversion

我创建了以下选择并计算“缺失”值

 select strftime('%d.%m. %H:%M', O_LROU_DEPARTDATE) || ' - ' || O_LROU_IDENT as Ident,  
        O_LROU_CSLCNTPICKED as 'done',
        CAST((O_LROU_CSLCNT - O_LROU_CSLCNTPICKED) as integer) as 'missing'

   from RAW_OM36     

 where (O_LROU_CSLCNT - O_LROU_CSLCNTPICKED) > 0

但是缺失的值仍然是文本而不是整数。 Here a picture! What's going wrong?

1 个答案:

答案 0 :(得分:0)

我刚刚遇到了同样的问题。

从图片中不清楚选择了多少条记录。我的驱动程序从第一条记录确定数据类型。如果第一条记录中的值为null,则驱动程序将该列解释为字符串(32767)。如果第一条记录是有效的整数,则该列将被解释为整数。

一个可能的解决方案是改变 CAST((O_LROU_CSLCNT-O_LROU_CSLCNTPICKED)为整数) 至 IFNULL(O_LROU_CSLCNT-O_LROU_CSLCNTPICKED),0) 接受将null更改为零可能不被您的应用程序接受。