sqlite3 version lacks instr

Fábio Santos fabiosantosart at gmail.com
Thu Aug 1 10:02:04 EDT 2013


I'm not sure but it seems like you could use operator.__contains__ . it
might be faster.
On 28 Jul 2013 20:18, "Peter Otten" <__peter__ at web.de> wrote:

> Joseph L. Casale wrote:
>
> >> Has anyone encountered this and utilized other existing functions
> >> within the shipped 3.6.21 sqlite version to accomplish this?
> >
> > Sorry guys, forgot about create_function...
>
> Too late, I already did the demo ;)
>
> >>> import sqlite3
> >>> db = sqlite3.connect(":memory:")
> >>> cs = db.cursor()
> >>> cs.execute('select instr("the quick brown fox",
> "brown")').fetchone()[0]
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
> sqlite3.OperationalError: no such function: instr
> >>> def instr(a, b):
> ...     return a.find(b) + 1 # add NULL-handling etc.
> ...
> >>> db.create_function("instr", 2, instr)
> >>> cs.execute('select instr("the quick brown fox",
> "brown")').fetchone()[0]
> 11
> >>> cs.execute('select instr("the quick brown fox", "red")').fetchone()[0]
> 0
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20130801/f356609a/attachment.html>


More information about the Python-list mailing list