当前位置: 代码迷 >> 其他数据库 >> sqlite的where子句查询有关问题
  详细解决方案

sqlite的where子句查询有关问题

热度:7940   发布时间:2013-02-26 00:00:00.0
sqlite的where子句查询问题
SQL code
SELECT * FROM bodycheckitem

使用这条语句可以正常查询出所数据;
SQL code
SELECT * FROM bodycheckitem where Tjh = 110

使用这条语句也可以正常查询处所对应的数据,其中Tjh为TEXT;

SQL code
SELECT * FROM bodycheckitem where Tjh = 020647019

这条语句不能正常查询出对应的数据,其结果为空,其中Tjh为TEXT;

SQL code
SELECT * FROM bodycheckitem where Tjh = '020647019'

这条语句能正常查询出对应的数据,其中Tjh为TEXT。
关于这张表的相关信息:
SQL code
CREATE TABLE "bodycheckitem" ("patid"  TEXT NOT NULL,"Tjh"  TEXT NOT NULL,"Xmmc"  TEXT NOT NULL,"Xmjg"  TEXT NOT NULL,"Xmjgmc"  TEXT NOT NULL,"Jgdw"  TEXT NOT NULL,"Tjzt"  TEXT)


------解决方案--------------------------------------------------------
既然是TEXT型,应该用Tjh = '020647019'

Tjh =020647019 估计SQLITE内部进行了转化,结果不正确
------解决方案--------------------------------------------------------
020647019

注意你的第一个0
这个会被处理成 20647019
然后数据库会做数据类型转换。 '20647019' 显然你的表中没有符合这个条件的记录。
  相关解决方案