Java 如何将VarChar转换为整数?

Java 如何将VarChar转换为整数?,java,android,sqlite,sum,Java,Android,Sqlite,Sum,我有一个定义为VarChar的时间列,我不能将列类型更改为Integer,因为Integer不能识别“:“在我的数字之间,现在我需要使用sum方法来计算一个人在我的办公室工作的时间,但我不能使用sum方法,因为VarChar不能求和。如何将VarChar转换为整数并删除数字之间的“:” 首先在SQLite中,除了rowid列的别名(专门使用column\u name INTEGER主键定义的列)之外,任何列类型都可以存储任何类型的值。因此,无需更改列类型 其次,您可以使用sum(replace(

我有一个定义为VarChar的时间列,我不能将列类型更改为Integer,因为Integer不能识别“:“在我的数字之间,现在我需要使用sum方法来计算一个人在我的办公室工作的时间,但我不能使用sum方法,因为VarChar不能求和。如何将VarChar转换为整数并删除数字之间的“:”

首先在SQLite中,除了rowid列的别名(专门使用
column\u name INTEGER主键定义的列)之外,任何列类型都可以存储任何类型的值。因此,无需更改列类型

其次,您可以使用
sum(replace(您的_列“:”,“)
,在提取数据时求和并替换冒号

第三,如果日期/时间/日期和时间以公认的格式存储,您可以轻松地添加、减去和操作日期和时间

如果您编辑问题并提供表模式(布局)、示例数据和预期结果,则可以提供更全面的答案

作为上述考虑的演示:-< /P>

DROP TABLE IF EXISTS anycolumntypedemo;
CREATE TABLE IF NOT EXISTS anycolumntypedemo (
    id INTEGER PRIMARY KEY /* CAN ONLY HAVE INTEGER VALUE AS DATA TYPE MISMATCH ERROR */,
    col1 VARCHAR,
    col2 BLOB,
    col3 nrealyanythinggoestype
);
INSERT INTO anycolumntypedemo VALUES
    (null,100,100,100),
        (null,'FRED','BERT','HARRY'),
        (null,x'0102',datetime('now'),'')
;
SELECT *, replace(col2,':','') AS getridofcolons FROM anycolumntypedemo;
这:-

  • 删除(删除S)表(如果它存在),以便重新运行演示
  • 创建带有列的演示表
  • idrowid的别名
  • col1作为类型VARCHAR(类型关联是正确的术语)
  • col2作为BLOB类型(字节[])
  • col3是一种非常愚蠢的类型,但它确实有效
  • 插入3行,
  • id自动生成为整数的所有
  • col1-col3值为100的第一行
  • col1-col3具有字符串(文本)的第二行
  • 第三行,col1为字节[](2个字节01和02),col2为当前日期和时间(格式为YYYY-DD-MM hh:MM:ss),col3为空字符串
  • 选择所有列以及作为col2值的额外派生列(除去冒号)
  • 结果输出为:-

    • 红色圆圈是SQLite管理工具(Navicat)显示BLOB的方式
    • 黄色突出显示的值显示从日期和时间中删除的冒号

    用于转换sql日期并查找差异,无需求和等。从字符串中解析日期,并进行比较。