diff options
author | Sebastian Bank <sebastian.bank@uni-leipzig.de> | 2015-06-19 17:37:21 +0200 |
---|---|---|
committer | Sebastian Bank <sebastian.bank@uni-leipzig.de> | 2015-06-19 17:37:21 +0200 |
commit | 84e813aee4b47edb5220bc76083525d1ac4e45ba (patch) | |
tree | 2f0d33f16a632da1f57da6105bece8cade5091fc | |
parent | 370b237ddb6af0ba62f0ce5b1bedfe7556c6ccf3 (diff) | |
download | sqlalchemy-84e813aee4b47edb5220bc76083525d1ac4e45ba.tar.gz |
add ClauseElement.cast() shortcut-method
-rw-r--r-- | lib/sqlalchemy/sql/elements.py | 7 | ||||
-rw-r--r-- | test/sql/test_type_expressions.py | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index 27ecce2b0..5df736ac7 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -837,6 +837,13 @@ class ColumnElement(operators.ColumnOperators, ClauseElement): else: return False + def cast(self, type_): + """Produce a type cast, i.e. ``CAST(<expression> AS <type>)``. + + This is a shortcut to the :func:`.cast` function. + """ + return Cast(self, type_) + def label(self, name): """Produce a column label, i.e. ``<columnname> AS <name>``. diff --git a/test/sql/test_type_expressions.py b/test/sql/test_type_expressions.py index 574edfe9e..c35e9ff53 100644 --- a/test/sql/test_type_expressions.py +++ b/test/sql/test_type_expressions.py @@ -40,6 +40,13 @@ class SelectTest(_ExprFixture, fixtures.TestBase, AssertsCompiledSQL): "SELECT CAST(test_table.y AS VARCHAR) AS anon_1 FROM test_table" ) + def test_cast_method(self): + table = self._fixture() + self.assert_compile( + select([table.c.y.cast(String)]), + "SELECT CAST(test_table.y AS VARCHAR) AS anon_1 FROM test_table" + ) + def test_select_cols_use_labels(self): table = self._fixture() |