【问题标题】:SQlite user defined function in pythonpython中的SQlite用户定义函数
【发布时间】:2019-08-16 18:54:41
【问题描述】:

因为 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-function怎么可能长这样?

SQLite3 蟒蛇3.7.1

【问题讨论】:

  • 查看构建和加载 ICU 扩展模块。
  • @shawn。谢谢,能够为 Linux 创建 .so 文件。您有可以共享的 Windows DLL 吗?或者简单的说明如何在 Windows 上实现这一点? Windows 无法加载 so-file。

标签: python sqlite user-defined-functions


【解决方案1】:

使用u'ÅÄÖABC' 表明它是一个unicode 字符串

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

和

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2011-12-13
    • 2011-05-13
    • 1970-01-01
    相关资源
    最近更新 更多