【发布时间】:2017-06-19 06:57:02
【问题描述】:
我创建了以下选择并计算“缺失”值
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?
【问题讨论】:
-
将列
typeof(CAST(O_LROU_CSLCNT - O_LROU_CSLCNTPICKED as integer))添加到 SELECT 子句。它是否也显示“文本”? -
这是一个整数值!太疯狂了。但是 C# 中 SQLiteDataAdapter 的 DataTable 也确实使用字符串而不是该列的整数
-
这似乎是DataTable的问题。
-
不一定,因为正如您在屏幕截图中看到的,SQLLiteStudio 版本 3.1.1。有同样的问题
-
可能它也使用了DataTable?无论如何,数据库返回一个整数值;显然,SQLiteDataAdapter 不能正确处理类型。
标签: string sqlite casting integer type-conversion