Hi On Thu, Dec 29, 2011 at 11:33 AM, Nathan Woodrow <[email protected]> wrote: > It would be handy to add condition statements to QgsExpression so we can > support this kind of thing, Martin would be the guy to talk to about adding > this kind of thing. He knows the most about QgsExpression.
SQL recognizes CASE statement with following alternate syntax: 1. "if" equivalent: CASE WHEN x > 10 THEN 'big' ELSE 'small' END 2. "switch" equivalent: CASE x WHEN 5 THEN 'five' WHEN 6 THEN 'six' ELSE 'something else' END The "else" is not required, if there is no matching "when" then NULL is returned. Some SQL engines add further functions for convenience: - MySQL [1]: IF(), IFNULL(), NULLIF() - PostgreSQL [2]: COALESCE(), NULLIF() I would suggest to implement the CASE statement to stay compliant with SQL syntax (although I find It a bit verbose). Regards Martin [1] http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html [2] http://www.postgresql.org/docs/8.1/static/functions-conditional.html _______________________________________________ Qgis-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/qgis-user
