From: Ants Aasma Date: Thu, 3 Apr 2008 16:54:26 +0000 (+0000) Subject: A couple of usage examples for the case statement X-Git-Tag: rel_0_4_5~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ca1ad4cbb9af8a45da550ba07c476f8cac17cd7a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git A couple of usage examples for the case statement --- diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 39a2ae3eb9..9272e6d82c 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -440,6 +440,15 @@ def case(whens, value=None, else_=None): or literal() constructs must be used to interpret raw string values. + Usage examples:: + + case([(orderline.c.qty > 100, item.c.specialprice), + (orderline.c.qty > 10, item.c.bulkprice) + ], else_=item.c.regularprice) + case(value=emp.c.type, whens={ + 'engineer': emp.c.salary * 1.1, + 'manager': emp.c.salary * 3, + }) """ try: whens = util.dictlike_iteritems(whens)