[GRASS-user] POW() in SQLite?

Glynn Clements glynn at gclements.plus.com
Mon Mar 1 10:27:19 EST 2010


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 <glynn at gclements.plus.com>


More information about the grass-user mailing list