Thanks for the quick response. My application is using 3.4.1, but I
grabbed the 3.5.9 executable and got the same thing.

SQLite version 3.5.9
Enter ".help" for instructions
sqlite> select * from ae_objects;
20086|sean|1|0|5.43301269412041|4.43301269412041|0.0|0.0|1|0|165|2
sqlite> select * from ae_objects where save_id=165;
sqlite> select * from ae_objects where save_id like 165;
20086|sean|1|0|5.43301269412041|4.43301269412041|0.0|0.0|1|0|165|2

So I tried what your code from below and it worked for me in a new
database. Strange thing though, if I do the insert from your code into
my existing database, then that new record shows up when I do:

sqlite> select * from ae_objects where save_id=165;

But the existing record (the "sean" one) does not!

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:sqlite-users-
> [EMAIL PROTECTED] On Behalf Of Noah Hart
> Sent: Friday, July 11, 2008 2:24 PM
> To: General Discussion of SQLite Database
> Subject: Re: [sqlite] problem with simple select
> 
> Sean, what version of sqlite are you using?
> 
> 
> With the command line version it appears to work under 3.5.9
> 
> SQLite version 3.5.9
> Enter ".help" for instructions
> sqlite> DROP TABLE if exists ae_objects ;
> sqlite> CREATE TABLE ae_objects (
>    ...>   oid                 INTEGER PRIMARY KEY,
>    ...>   name                VARCHAR(64),
>    ...>   template_id         INTEGER,
>    ...>   template_module_id  INTEGER,
>    ...>   pos_x               FLOAT,
>    ...>   pos_y               FLOAT,
>    ...>   pos_z               FLOAT,
>    ...>   facing              FLOAT,
>    ...>   sprite_id           INTEGER,
>    ...>   sprite_module_id    INTEGER,
>    ...>   save_id             VARCHAR(16),
>    ...>   save_type           INTEGER );
> sqlite>
> sqlite> insert into ae_objects values
> (40007,1000,1,0,3.43301269412041,12.4330126941204,0.0,0.0,11,0,165,2);
> sqlite> select * from ae_objects;
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> select * from ae_objects where save_id = 165;
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> select * from ae_objects where save_id = '165';
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> select * from ae_objects where save_id like '165';
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> SELECT * FROM ae_objects WHERE save_id<166 and save_id>164;
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite>
> 
> 
> 
> Regards, Noah
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Sean Riley
> Sent: Friday, July 11, 2008 2:08 PM
> To: sqlite-users@sqlite.org
> Subject: [sqlite] problem with simple select
> 
> Hello,
> 
> I have a strange issue with a seemingly simple query.
> 
> The table schema:
> 
> CREATE TABLE ae_objects (
>   oid                 INTEGER PRIMARY KEY,
>   name                VARCHAR(64),
>   template_id         INTEGER,
>   template_module_id  INTEGER,
>   pos_x               FLOAT,
>   pos_y               FLOAT,
>   pos_z               FLOAT,
>   facing              FLOAT,
>   sprite_id           INTEGER,
>   sprite_module_id    INTEGER,
>   save_id             VARCHAR(16),
>   save_type           INTEGER );
> 
> Sequence of SQL statements executed:
> sqlite> select * from ae_objects;
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> select * from ae_objects where save_id = 165;
> sqlite> select * from ae_objects where save_id = '165';
> sqlite> select * from ae_objects where save_id like '165';
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> sqlite> SELECT * FROM ae_objects WHERE save_id<166 and save_id>164;
> 40007|1000|1|0|3.43301269412041|12.4330126941204|0.0|0.0|11|0|165|2
> 
> Why does the "save_id = 165" fail to get any rows? I get zero rows
when
> I attempt to find the row by exact match of the "save_id" column, but
> with a "like" or a "greater than 164 and less than 166" I get the one
> row I am looking for.
> 
> This only seems happens when that particular column is varchar(16). I
> have gotten this behavior on windows and linux. Can provide a db file
if
> that helps.
> 
> 
> -------------------
> Sean Riley
> Lead Programmer, Areae Inc.
> "All problems in computer science can be solved by another level of
> indirection", Butler Lampson, 1972
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 
> 
> CONFIDENTIALITY NOTICE:
> This message may contain confidential and/or privileged information.
If
> you are not the addressee or authorized to receive this for the
addressee,
> you must not use, copy, disclose, or take any action based on this
message
> or any information herein. If you have received this message in error,
> please advise the sender immediately by reply e-mail and delete this
> message. Thank you for your cooperation.
> 
> 
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to