Dưới đây là các thiết lập trên PostgreSQL 9.2.4:postgresql KHÔNG iLike khoản không bao gồm chuỗi null giá trị
CREATE TABLE table (
id integer NOT NULL,
some_text text
);
Bây giờ chúng ta nhập một kỷ lục, với một chuỗi rỗng hoặc để trống some_text
, để khi chúng ta truy vấn:
SELECT * FROM table WHERE some_text IS NULL;
Tôi nhận lại mục nhập. Càng xa càng tốt.
Tuy nhiên, khi tôi truy vấn:
SELECT * FROM table WHERE some_text NOT ILIKE "%anything%';
tôi thấy rằng không có gì được trả lại. Tại sao vậy? Tôi mong đợi một chuỗi rỗng hoặc rỗng là "không giống như anything
".
Tôi thích bạn giải thích với * ẩn số *, nhưng tôi không chắc chắn làm thế nào mà kết nối SQL. Tại sao một 'WHERE null ILIKE '% anything%'' không xác định? – applepie
"Người đàn ông trẻ, trong toán học bạn không hiểu mọi thứ. Bạn chỉ quen với họ." - John von Neumann –
oooh sass. Đó có phải là một câu hỏi khó theo dõi không? – applepie