That doesn't appear to work for 2.8.17.


But using round() does work.  NULL stays NULL and space (or any non-numeric 
string) becomes zero.

Tried typeof() but it always returns numeric.



SQLite version 2.8.17
Enter ".help" for instructions

sqlite> CREATE TABLE "maillist"(recordID,userID,name,email);
sqlite> INSERT INTO "maillist" VALUES(1,1,'John','j...@somehwere.com');
sqlite> INSERT INTO "maillist" VALUES(2,2,'Mike','mi...@example.com');
sqlite> INSERT INTO "maillist" VALUES(3,3,'Bill','b...@example.com');
sqlite> INSERT INTO "maillist" VALUES(4,'','Steve','st...@example.com');
sqlite> INSERT INTO "maillist" VALUES(5,NULL,NULL,NULL);
sqlite> INSERT INTO "maillist" VALUES(6,' ','Dennis','de...@example.com');
sqlite> select max(cast(userID as integer)) as highest_userID from maillist;
SQL error: near "as": syntax error
sqlite> select max(round(userID)) from maillist;
3
sqlite> select recordID,round(userID) from maillist;
1|1
2|2
3|3
4|0
5|
6|0



Michael D. Black

Senior Scientist

Advanced Analytics Directorate

Advanced GEOINT Solutions Operating Unit

Northrop Grumman Information Systems

________________________________
From: sqlite-users-boun...@sqlite.org [sqlite-users-boun...@sqlite.org] on 
behalf of Petite Abeille [petite.abei...@gmail.com]
Sent: Wednesday, May 09, 2012 1:11 PM
To: General Discussion of SQLite Database
Subject: EXT :Re: [sqlite] max(userID) .. WHERE userID IS NOT NULL returns NULL 
But... WHERE <> '' returns value


On May 9, 2012, at 8:01 PM, Shorty wrote:

> So, now the question is how do I write a statment to filter out strings so 
> the max() only evaluates the numeric values?

SELECT max( cast( userID as integer ) ) AS highest_userID FROM maillist;

_______________________________________________
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