Vì vậy, tôi có một trong PostgreSQL của tôi:PostgreSQL CHỌN nếu chuỗi chứa
TAG_TABLE
==========================
id tag_name
--------------------------
1 aaa
2 bbb
3 ccc
Để đơn giản hóa vấn đề của tôi, Những gì tôi muốn làm là SELECT 'id' từ TAG_TABLE khi một chuỗi "aaaaaaaa" chứa ' tag_name '. Vì vậy, lý tưởng, nó chỉ nên trở về "1", đó là ID cho tên thẻ 'aaa'
Đây là những gì tôi đang làm cho đến nay:
SELECT id FROM TAG_TABLE WHERE 'aaaaaaaaaaa' LIKE '%tag_name%'
Nhưng rõ ràng, điều này không làm việc, vì postgres nghĩ rằng '% tag_name%' có nghĩa là một mẫu chứa chuỗi con 'tag_name' thay vì giá trị dữ liệu thực tế trong cột đó.
Làm cách nào để chuyển tên người dùng vào mẫu?
những gì hapoens khi tag_name là' "; bảng thả xuống TAG_TABLE; -" '? –
@Denis: Không có gì xảy ra. Bạn không nhận được hàng nào, vì mệnh đề 'WHERE' đánh giá thành' FALSE'. Câu lệnh không phải là động, chỉ các giá trị được nối, không có cơ hội cho việc chèn SQL. –
không nên là thứ tự của aaaa và tag_name được đảo ngược? tôi có nghĩa là bạn nên đặt một tên cột sau khi – user151496