■ Connection 클래스의 create_collation 메소드를 사용해 사용자 정렬 함수를 설정하는 방법을 보여준다.
▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import sqlite3 def CustomOrder(source1, source2): target1 = source1.upper() target2 = source2.upper() return (target1 > target2) - (target1 < target2) connection = sqlite3.connect("test.db") connection.isolation_level = None connection.create_collation("CustomOrder", CustomOrder) cursor = connection.cursor() cursor.execute("CREATE TABLE PHONE_BOOK (NAME TEXT, PHONE_NUMBER TEXT);") cursor.execute("INSERT INTO PHONE_BOOK VALUES ('DSP' , '010-123-1234' );") cursor.execute("INSERT INTO PHONE_BOOK VALUES ('Derick' , '010-1234-5678');") cursor.execute("INSERT INTO PHONE_BOOK VALUES ('Sangjung', '010-5670-2343');") cursor.execute("INSERT INTO PHONE_BOOK VALUES ('Tom' , '010-543-5432' );") cursor.execute("INSERT INTO PHONE_BOOK VALUES ('apple' , '010-369-3639' );") cursor.execute("SELECT * FROM PHONE_BOOK ORDER BY NAME COLLATE CustomOrder;") rowTupleList = cursor.fetchall() for rowTuple in rowTupleList: print(rowTuple) """ ('apple', '010-369-3639') ('Derick', '010-1234-5678') ('DSP', '010-123-1234') ('Sangjung', '010-5670-2343') ('Tom', '010-543-5432') """ |