读书人

sqlite的where子句查询有关问题

发布时间: 2012-08-07 14:54:47 作者: rapoo

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' 显然你的表中没有符合这个条件的记录。

读书人网 >其他数据库

热点推荐