2010-07-06 34 views
7

Cách đơn giản nhất của finidng chỉ mục của một chuỗi con trong một cột varchar là gì? charindex không tồn tại trong phiên bản cổ phiếu của SQLite3 - mà vẫn còn một chút ngạc nhiên đối với tôi.Chỉ mục chuỗi con trong SQLite3?

Cụ thể, tôi có một cột có các giá trị như 010000, 011000, 010110, v.v ... Tôi muốn tìm chỉ mục lần xuất hiện đầu tiên của 11. Đối với các ví dụ tôi đã đưa ra, tôi sẽ mong đợi một cái gì đó như NULL (hoặc -1), 13.

Tôi có một ý tưởng bị tấn công với nhau sử dụng lengthltrim, nhưng có vẻ như rất nhiều công việc cho một cái gì đó tôi cần phải làm nhiều lần.

Trả lời

2

Thật không may, tôi nghĩ bạn đã tìm thấy câu trả lời duy nhất hiện đang hoạt động. SQLite không có hàm charindex tương đương. Cho bạn một làm của riêng bạn với chiều dài và cắt, nhưng không được xây dựng trong :(

+1

Đó là quá lạ ... Ngay cả cái gì mà chỉ là cú pháp đường (Tôi tự hỏi lý do của * không * bao gồm một cái gì đó như 'charindex' là ... –

+2

^để giữ cho nó lite;) – straya

5

này bây giờ có thể sử dụng được xây dựng trong instr chức năng.

sqlite> select instr(010000,11); 
0 
sqlite> select instr(011000,11); 
1 
sqlite> select instr(010110,11); 
3 
+0

sqlite 3.7.6 và dưới đây không bao gồm chức năng này: ( –

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