PostgreSQL: soi kèo bóng đá truoctran liệu: | |||
---|---|---|---|
prev | UP | Phụ lục F. kèo bóng đá cúp c2 mô -đun được cung cấp bổ sung | Tiếp theo |
Thekèo bóng đá cúp c2Mô-đun cung cấp loại chuỗi ký tự không phân biệt chữ hoa chữ thường,kèo bóng đá cúp c2. Về cơ bản, nó gọi nội bộHạ
Khi so sánh kèo bóng đá cúp c2 giá trị. Nếu không, nó hoạt động gần như chính xác nhưText.
Cách tiếp cận tiêu chuẩn để thực hiện kèo bóng đá cúp c2 trận đấu không nhạy cảm trường hợp trongPostgreSQLđã được sử dụngHạ
hàm khi so sánh kèo bóng đá cúp c2 giá trị, ví dụ
Chọn * Từ tab trong đó thấp hơn (col) = thấp hơn (?);
Điều này hoạt động hợp lý tốt, nhưng có một số nhược điểm:
Nó làm cho kèo bóng đá cúp c2 câu lệnh SQL của bạn và bạn luôn phải nhớ sử dụngHạ
Trên cả cột và giá trị truy vấn.
Nó sẽ không sử dụng chỉ mục, trừ khi bạn tạo chỉ mục chức năng bằng cách sử dụngHạ
.
Nếu bạn khai báo một cột làđộc đáohoặcKhóa chính, Chỉ số được tạo ngầm là nhạy cảm trường hợp. Vì vậy, nó là vô dụng đối với kèo bóng đá cúp c2 tìm kiếm không nhạy cảm trường hợp và nó sẽ không thực thi tình trạng độc đáo về tình trạng không nhạy cảm.
Thekèo bóng đá cúp c2Kiểu dữ liệu cho phép bạn loại bỏ kèo bóng đá cúp c2 cuộc gọi đếnHạ
Trong kèo bóng đá cúp c2 truy vấn SQL và cho phép khóa chính không nhạy cảm với trường hợp.kèo bóng đá cúp c2là nhận biết địa phương, giống nhưText, có nghĩa là sự phù hợp của kèo bóng đá cúp c2 ký tự chữ hoa và chữ thường phụ thuộc vào kèo bóng đá cúp c2 quy tắc của cơ sở dữ liệulc_ctypeCài đặt. Một lần nữa, hành vi này giống hệt với việc sử dụngHạ
Trong kèo bóng đá cúp c2 truy vấn. Nhưng bởi vì nó được thực hiện minh bạch bởi kiểu dữ liệu, bạn không cần phải nhớ làm bất cứ điều gì đặc biệt trong kèo bóng đá cúp c2 truy vấn của bạn.
Đây là một ví dụ đơn giản về việc sử dụng:
Tạo người dùng bảng ( Khóa chính của Nick kèo bóng đá cúp c2, vượt qua văn bản không phải null ); Chèn các giá trị người dùng ('Larry', MD5 (Random () :: Text)); Chèn vào các giá trị người dùng ('tom', md5 (ngẫu nhiên () :: văn bản)); Chèn vào các giá trị người dùng ('damian', md5 (ngẫu nhiên () :: văn bản)); Chèn vào các giá trị người dùng ('neal', md5 (ngẫu nhiên () :: văn bản)); Chèn vào các giá trị người dùng ('bjørn', md5 (ngẫu nhiên () :: văn bản)); Chọn * Từ người dùng WHERE Nick = 'Larry';
TheChọnCâu lệnh sẽ trả về một tuple, mặc dùNickCột được đặt thànhLarryvà truy vấn là choLarry.
kèo bóng đá cúp c2Thực hiện so sánh bằng cách chuyển đổi từng chuỗi thành chữ thường (như thểHạ
được gọi) và sau đó so sánh kèo bóng đá cúp c2 kết quả bình thường. Do đó, ví dụ, hai chuỗi được coi là bằng nhau nếuHạ
sẽ tạo ra kết quả giống hệt nhau cho họ.
Để mô phỏng một đối chiếu không phân biệt trường hợp càng gần càng tốt, cókèo bóng đá cúp c2-Specific phiên bản của một số toán tử và chức năng xử lý chuỗi. Vì vậy, ví dụ, kèo bóng đá cúp c2 toán tử biểu thức chính quy~và~*Triển lãm hành vi tương tự khi áp dụng chokèo bóng đá cúp c2: cả hai đều phù hợp với trường hợp không nhạy cảm. Điều tương tự cũng đúng với! ~và! ~*, cũng như chonhưToán tử~ ~và~ ~*và! ~ ~và! ~ ~*. Nếu bạn muốn khớp với trường hợp nhạy cảm, bạn có thể chuyển kèo bóng đá cúp c2 đối số của người vận hành vớiText.
12858_12961kèo bóng đá cúp c2:
regexp_matches ()
regexp_replace ()
regexp_split_to_array ()
regexp_split_to_table ()
thay thế ()
split_part ()
strpos ()
dịch ()
Đối với kèo bóng đá cúp c2 hàm regexp, nếu bạn muốn khớp với trường hợp nhạy cảm, bạn có thể chỉ định"C"cờ để buộc một trận đấu nhạy cảm với trường hợp. Nếu không, bạn phải đúc đếnTextTrước khi sử dụng một trong kèo bóng đá cúp c2 chức năng này nếu bạn muốn hành vi nhạy cảm trường hợp.
13941_13949hành vi gấp lại trường hợp phụ thuộc vàolc_ctypeCài đặt cơ sở dữ liệu của bạn. Do đó, cách so sánh kèo bóng đá cúp c2 giá trị được xác định khi cơ sở dữ liệu được tạo. Nó không thực sự không phân biệt trường hợp trong kèo bóng đá cúp c2 thuật ngữ được xác định bởi tiêu chuẩn Unicode. Thực tế, điều này có nghĩa là gì, miễn là bạn hài lòng với sự đối chiếu của mình, bạn nên hài lòng vớikèo bóng đá cúp c2s so sánh. Nhưng nếu bạn có dữ liệu bằng kèo bóng đá cúp c2 ngôn ngữ khác nhau được lưu trữ trong cơ sở dữ liệu của mình, người dùng của một ngôn ngữ có thể tìm thấy kết quả truy vấn của họ không như mong đợi nếu đối chiếu dành cho ngôn ngữ khác.
kể từPostgreSQL9.1, bạn có thể đính kèmđối chiếuĐặc điểm kỹ thuật chokèo bóng đá cúp c2cột hoặc giá trị dữ kèo bóng đá cúp c2. Hiện nay,kèo bóng đá cúp c2Người vận hành sẽ tôn vinh một người không mặc địnhđối chiếu14842_14977lc_ctypeCài đặt (nghĩa là như thểđối chiếu "mặc định"đã được đưa ra). Điều này có thể được thay đổi trong một bản phát hành trong tương lai để cả hai bước tuân theo đầu vàođối chiếuĐặc điểm kỹ thuật.
kèo bóng đá cúp c2không hiệu quả nhưTextVì kèo bóng đá cúp c2 chức năng của toán tử và kèo bóng đá cúp c2 hàm so sánh B-cây phải tạo kèo bóng đá cúp c2 bản sao của dữ liệu và chuyển đổi nó thành chữ thường để so sánh. Tuy nhiên, nó hiệu quả hơn một chút so với sử dụngHạ
Để có được sự kết hợp không nhạy cảm với trường hợp.
kèo bóng đá cúp c215623_15782Text15806_15835Hạ
Hàm khi bạn cần so sánh tình trạng không nhạy cảm với trường hợp; Điều này hoạt động đúng nếu cần so sánh không nhạy cảm trường hợp chỉ cần không thường xuyên. Nếu bạn cần hành vi không nhạy cảm trường hợp hầu hết thời gian và trường hợp nhạy cảm không thường xuyên, hãy xem xét lưu trữ dữ kèo bóng đá cúp c2 làkèo bóng đá cúp c2và đúc cột một cách rõ ràng thànhTextKhi bạn muốn so sánh nhạy cảm trường hợp. Trong cả hai tình huống, bạn sẽ cần hai chỉ mục nếu bạn muốn cả hai loại tìm kiếm sẽ nhanh chóng.
lược đồ chứakèo bóng đá cúp c216421_16457search_path(Thông thườngcông khai); Nếu không, trường hợp nhạy cảm với trường hợp bình thườngTextNgười vận hành sẽ được gọi thay thế.
David E. Wheeler<david@kineticode.com
Lấy cảm hứng từ bản gốckèo bóng đá cúp c2Mô -đun của Donald Fraser.