Android SQLiteStatement:如何绑定数字(Date,BigDecimal)?
SQLiteStatement有
bindNull
bindLong
bindDouble
bindString
bindBlob
对于java.util.Date和java.util.BigDecimal,它们将作为列类型映射到Numeric。但是没有bindNumeric(...)方法。哪种方法可以绑定这些类型?
答案 0 :(得分:0)
Date可以绑定为long或String,具体取决于值。前者如果它是日期的整数表示,后者如果它是一个更人性化的日期。使用SQLite的日期/时间函数支持的格式可能是明智的: -
时间字符串
时间字符串可以采用以下任何格式:
- YYYY-MM-DD
- YYYY-MM-DD HH:MM
- YYYY-MM-DD HH:MM:SS
- YYYY-MM-DD HH:MM:SS.SSS
- YYYY-MM-DDTHH:MM
- YYYY-MM-DDTHH:MM:SS
- YYYY-MM-DDTHH:MM:SS.SSS
- HH:MM HH:MM:SS
- HH:MM:SS.SSS
- 现在
- DDDDDDDDDD
你可以降级为double并绑定为double(注意潜在的损失),绑定为字符串(注意类型亲和力发挥作用,即列亲和力应该是TEXT)或者使用两个longs一个用于比例,一个用于un -scaled value。