首页 > 解决方案 > python中的SQlite用户定义函数

问题描述

因为 SQLite 在带有德语变音符号的 upper() 和 lower() 方面存在问题,所以我需要在 python 中创建一个用户函数。

问题:SQlite 中的数据:地址 -> Elsa-Brändström-Str。nn address.upper() -> ELSA-BRäNDSTRöM-STR。nn <-- 仍然很小的变音符号“ö”和“ä”

如果我调用 lower(),大写字母也会出现同样的问题。变音符号不会用lower() 和upper() 改变它们的大小写。

所以我无法从我的 GUI 中搜索上 WHERE-Clause ... :-/

我尝试按照以下步骤进行第一次测试: https ://dzone.com/articles/adding-function-sqlite-python

但总是得到“sqlite3.OperationalError:用户定义的函数引发异常”

像这样的“LIKE-” py 函数怎么可能看起来像?

SQLite3 python 3.7.1

标签: pythonsqliteuser-defined-functions

解决方案


用于u'ÅÄÖABC'显示它是一个 unicode 字符串

>>> u'ÅÄÖABC'.lower()
'åäöabc'

>>> u'åäöabc'.upper()
'ÅÄÖABC'

推荐阅读