2011-07-01 34 views
6

Tôi đang cố tìm nạp các mục nhập từ một SQLiteDatabase trong một chương trình Android bằng cách sử dụng hàm query bằng cách sử dụng tham số lựa chọn. Tôi đã thành công với việc so khớp mẫu đơn giản bằng cách sử dụng LIKE của SQLite và ký tự đại diện%. Bây giờ tôi muốn thực hiện các mẫu phức tạp hơn bằng cách sử dụng các biểu thức thông thường.Truy vấn SQLiteDatabase của Android bằng Regex

Theo SQLite website, để toán tử REGEXP hoạt động, nó phải được người dùng xác định. Có ai đã thành công trong việc tạo ra các hàm SQLite được định nghĩa cho SQLiteDatabase của Android không? Hoặc có ai tìm thấy một cách khác để sử dụng cụm từ thông dụng khi tìm kiếm qua các chuỗi trong cơ sở dữ liệu không?

+0

Tôi tưởng tượng việc sử dụng SQLite để sử dụng các chức năng do người dùng xác định trong Android sẽ phức tạp, mặc dù tôi đoán là có thể xảy ra với NDK – antlersoft

Trả lời

1

Như đã trình bày here

Nhà điều hành REGEXP là một cú pháp đặc biệt cho regexp() chức năng người dùng. Không có hàm regexp() nào được định nghĩa theo mặc định và do đó việc sử dụng toán tử REGEXP thường sẽ dẫn đến một thông báo lỗi. Nếu một hàm SQL do ứng dụng định nghĩa có tên là "regexp" được thêm vào lúc chạy, hàm đó sẽ được gọi để thực hiện toán tử REGEXP.

Nhưng có GLOB cao hơn chút ít so với LIKE.

+0

GLOB đầy hứa hẹn. Cảm ơn! – gelakinetic

Các vấn đề liên quan