summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/expression.py
diff options
context:
space:
mode:
authorAnts Aasma <ants.aasma@gmail.com>2008-04-03 16:54:26 +0000
committerAnts Aasma <ants.aasma@gmail.com>2008-04-03 16:54:26 +0000
commitca1ad4cbb9af8a45da550ba07c476f8cac17cd7a (patch)
tree73eed51ed6588494e39732119a9926ea23e55661 /lib/sqlalchemy/sql/expression.py
parentabb10856dcea07ca4d38d28df4e493d11d8fd345 (diff)
downloadsqlalchemy-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.py9
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)