diff options
author | Ants Aasma <ants.aasma@gmail.com> | 2008-04-03 16:54:26 +0000 |
---|---|---|
committer | Ants Aasma <ants.aasma@gmail.com> | 2008-04-03 16:54:26 +0000 |
commit | ca1ad4cbb9af8a45da550ba07c476f8cac17cd7a (patch) | |
tree | 73eed51ed6588494e39732119a9926ea23e55661 /lib/sqlalchemy/sql/expression.py | |
parent | abb10856dcea07ca4d38d28df4e493d11d8fd345 (diff) | |
download | sqlalchemy-ca1ad4cbb9af8a45da550ba07c476f8cac17cd7a.tar.gz |
A couple of usage examples for the case statement
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r-- | lib/sqlalchemy/sql/expression.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 39a2ae3eb..9272e6d82 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(<string>) 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) |