Re: [GRASS-user] POW() in SQLite?
> Hamish wrote: > > I am trying to use POW(x,n) with SQLite but it fails: ... > > no such function: POW Glynn: > Nope; not in SQLite: > http://www.sqlite.org/lang_corefunc.html > .. > > Similar problem if I try x^n: > > unrecognized token: "^" > > SQLite doesn't have a power operator: > http://www.sqlite.org/lang_expr.html#binaryops > > this random webhit suggests that it should be possible: > > http://osdir.com/ml/sqlite-users/2009-03/msg00248.html > > That says: .. > Note: "in addition to the SQLite default". IOW, those > functions are added by SQLiteSpy, and are not part of SQLite. ah, skimming error. Rich: > I'd manipulate those values first, then pass them to SQLite. solution: #no good: #v.db.update basemap column=volume value="POW(length,3)" --verbose #good: v.db.select basemap column=cat,length | awk -F'|' \ '{printf("UPDATE basemap SET volume=%f WHERE cat=%d;\n", $2^3, $1)}' \ | db.execute thanks, Hamish ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] POW() in SQLite?
Hamish wrote: > I am trying to use POW(x,n) with SQLite but it fails: > > G65> v.db.select mapname column="POW(length,3)" > DBMI-SQLite driver error: > Error in sqlite3_prepare():SELECT POW(length,3) FROM mapname > no such function: POW Nope; not in SQLite: http://www.sqlite.org/lang_corefunc.html > ERROR: Unable to open select cursor > > > Similar problem if I try x^n: > ... > unrecognized token: "^" SQLite doesn't have a power operator: http://www.sqlite.org/lang_expr.html#binaryops > this random webhit suggests that it should be possible: > http://osdir.com/ml/sqlite-users/2009-03/msg00248.html That says: > * Mathematical SQL Functions - The following mathematical SQL functions are > available in addition to the SQLite default: ACOS(), ASIN(), ATAN(), ATAN(), > ATAN2(), CEIL(), CEILING(), COS(), COT(), DEGREES(), EXP(), FLOOR(), LN(), > LOG(), LOG(), LOG2(), LOG10(), MOD(), PI(), POW(), RADIANS(), SIGN(), SIN(), > SQRT(), TAN(), TRUNCATE(). Note: "in addition to the SQLite default". IOW, those functions are added by SQLiteSpy, and are not part of SQLite. -- Glynn Clements ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user
Re: [GRASS-user] POW() in SQLite?
On Mon, 1 Mar 2010, Hamish wrote: I am trying to use POW(x,n) with SQLite but it fails: Hamish, Mathematical functions such as POW() are not part of SQL. When you look at what appear to be mathematical functions, e.g., ABS(). MIN(), MAX(), they are actually string manipulations. SQLite stores most values as text strings so this is not surprising. I'd manipulate those values first, then pass them to SQLite. Rich ___ grass-user mailing list grass-user@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-user