用法:
create_collation(name, callable)
使用指定的
name
和callable
创建一个排序规则。可调用对象将传递两个字符串参数。如果第一个排序低于第二个,它应该返回 -1,如果它们排序相等,则返回 0,如果第一个排序高于第二个,则返回 1。请注意,这控制排序(SQL 中的 ORDER BY),因此您的比较不会影响其他 SQL 操作。请注意,可调用对象将以 Python 字节串的形式获取其参数,通常以 UTF-8 编码。
以下示例显示了对 “the wrong way” 进行排序的自定义排序规则:
import sqlite3 def collate_reverse(string1, string2): if string1 == string2: return 0 elif string1 < string2: return 1 else: return -1 con = sqlite3.connect(":memory:") con.create_collation("reverse", collate_reverse) cur = con.cursor() cur.execute("create table test(x)") cur.executemany("insert into test(x) values (?)", [("a",), ("b",)]) cur.execute("select x from test order by x collate reverse") for row in cur: print(row) con.close()
要删除排序规则,请调用
create_collation
并将None
作为可调用对象:con.create_collation("reverse", None)
相关用法
- Python sqlite3.Connection.create_function用法及代码示例
- Python sqlite3.Connection.create_aggregate用法及代码示例
- Python sqlite3.Connection.text_factory用法及代码示例
- Python sqlite3.Connection.enable_load_extension用法及代码示例
- Python sqlite3.Connection.iterdump用法及代码示例
- Python sqlite3.Connection.row_factory用法及代码示例
- Python sqlite3.Connection.backup用法及代码示例
- Python sqlite3.Cursor.executescript用法及代码示例
- Python sqlite3.Cursor.connection用法及代码示例
- Python sqlite3.Cursor.executemany用法及代码示例
- Python sqlite3.threadsafety用法及代码示例
- Python sqlite3.complete_statement用法及代码示例
- Python sqlite3.connect用法及代码示例
- Python math sqrt()用法及代码示例
- Python sklearn.cluster.MiniBatchKMeans用法及代码示例
- Python scipy.ndimage.binary_opening用法及代码示例
- Python scipy.signal.windows.tukey用法及代码示例
- Python scipy.stats.mood用法及代码示例
- Python str.isidentifier用法及代码示例
- Python sklearn.metrics.fbeta_score用法及代码示例
注:本文由纯净天空筛选整理自python.org大神的英文原创作品 sqlite3.Connection.create_collation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。