On Fri, Oct 14, 2011 at 4:45 PM, Jon Nelson <jnel...@jamponi.net> wrote:
> What is the SA equivalent of:
>
> UPDATE foo SET bar=some_function(baz) WHERE bar IS DISTINCT FROM
> some_function(baz)
>
> I get this far (assuming 't' is a Table instance):
>
> t.update().values(t.c.bar=sa.func.some_function(t.c.baz).where( ...
> what do I put here .... )
>
> IS DISTINCT FROM (and IS NOT DISTINCT FROM) are supported in firebird
> and postgresql, and possibly others.

Is using 'op' the right way?

c = sa.func.some_function(t.c.baz)
t.update().values(t.c.bar=c).where(t.c.bar.op("IS DISTINCT FROM")(c))

-- 
Jon

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to