Java 如何将VarChar转换为整数?
我有一个定义为VarChar的时间列,我不能将列类型更改为Integer,因为Integer不能识别“:“在我的数字之间,现在我需要使用sum方法来计算一个人在我的办公室工作的时间,但我不能使用sum方法,因为VarChar不能求和。如何将VarChar转换为整数并删除数字之间的“:” 首先在SQLite中,除了rowid列的别名(专门使用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(
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日期并查找差异,无需求和等。从字符串中解析日期,并进行比较。