So I tried following along with this. 1) created a file called *custfunc.py*
In it I placed this: from sqlalchemy.sql import expression from sqlalchemy.ext.compiler import compiles from sqlalchemy.types import String class stripctrl(expression.FunctionElement): type = String() name = 'stripctrl' @compiles(stripctrl) def stripctrl_default(element, compiler, **kw): args = list(element.clauses) return "%s" % (compiler .process(args[0]) .replace("\t", "") .replace("\n", "") .replace("\r", "")) 2) Imported class into my main code.. from custfunc import stripctrl print(session.query( stripctrl(Jobdtl.jobdtl_cmd) ).first() I think that's right On Friday, 9 February 2018 20:05:59 UTC, Jonathan Vanasco wrote: > > I should have explained something above better... > > The result I assumed you wanted to achieve is "creating SQL that will > handle data transformations". That would allow you to write concise python > that will compiled into SQL which will be evaluated on the database > server. You could also use other approaches that transform data in python > before hitting the database server. > > IMHO, using a custom compiler approach is easier than trying to do > something with `sqlalchemy.func` because it gives you more room to > customize how the sql compiles under different databases. > -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at https://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.