SQLite不会转换为整数

问题描述 投票:0回答:1

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

 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?

string sqlite casting integer type-conversion
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.