sqlite插入记录值为纯数字的字符串的问题以及sqlite语句中字符串的拼接
2015-09-28 16:01
302 查看
当向sqlite数据库中插入某条记录,而这条记录中的某个字段为纯数字的字符串时,在这条记录插入到数据库中时,这个字段的值就有一定几率会被转成数字Y_Y!! 例如下面的代码: String phone = "18801774974"; String psw = "704430"; String captcha = "025"; ContentValues cv = new ContentValues(); cv.put("phone",phone); cv.put("psw", psw); cv.put("captcha", captcha); getContentResolver().insert(uri, cv); 复制代码 插入到数据库之后,有一定几率会变成下图这样: 本来captcha字段是TEXT,而我传入的也是一个String,但是在实际插入到数据库中时,有一定几率,它会被当做数字来处理,然后前面的“0”就莫名其妙的丢失了#V_V# 遇到这样的情况,推荐的写法是下面这样,可以有效的避免数字字符串被当成数字处理: String phone = "18801774974"; String psw = "704430"; String captcha = "012"; ContentValues cv = new ContentValues(); cv.put("phone",phone); cv.put("psw", psw); cv.put("captcha", ""+captcha); getContentResolver().insert(uri, cv); 复制代码 |
顺便记录一条sqlite语句中涉及到字符串拼接的问题。 比如我的数据库里,现在已经被插入了上面描述的这样的“脏数据” 我想要修改一下这些记录,该怎么操作呢? 这时候就用到了字符串连接符——“||” update order_account set captcha=('0'||captcha) where length(captcha)=2; 复制代码 |
相关文章推荐
- SQLHelper用到的配置文件格式
- 数据库版本管理工具flyway
- SQL中Group By的使用
- 分布式缓存系统Memcached简介与实践
- SQLHelper初实现---杨中科版(易懂,代码多点)
- ubuntu 安装 Mongodb
- mysql 循环插入
- 5.5.xx MySQL 编译安装
- sql 查看 锁定的表 或者 未提交 的事务
- MS SQL按IN()内容排序
- Spring Batch Example – XML File To MongoDB Database(五)
- rsyslog+mysql+loganalyzer 环境搭建日志服务器
- mysql拼音转化
- sql server 2008生成insert脚本
- 如何解决局域网内mysql数据库连接慢
- SQL 数据库常见操作
- PL/SQL连接oracle配置
- Ubuntu12.04 安装sqlite
- Redis 内存数据库
- mysql带参存储过程小例子