Tôi muốn sử dụng UUID làm số nhận dạng, cung cấp 8 chữ số đầu tiên để tìm hiểu xem nó có tồn tại trong cơ sở dữ liệu hay không.Cách truy vấn UUID cho postgres
thường tôi có thể làm điều này mà không có một vấn đề:
select * from TABLE where id = 'e99aec55-9e32-4c84-aed2-4a0251584941'::uuid
nhưng điều này mang lại cho tôi lỗi:
select * from TABLE where id LIKE 'e99aec55%@'::uuid
lỗi:
ERROR: invalid input syntax for uuid: "e99aec55%@"
LINE 1: select * from TABLE where id LIKE 'e99aec55...
^
Query failed
PostgreSQL said: invalid input syntax for uuid: "e99aec55%@"
Có cách nào để truy vấn n chữ số đầu tiên f hoặc một loại UUID trong postgresql?
Điều này thật tuyệt! Tôi đã suy nghĩ để tạo ra một bảng với uuid và chuỗi uuid để nó sử dụng tìm kiếm bình thường. nhưng phương pháp của bạn hoạt động rất tốt. Cảm ơn! –
Bạn có biết hiệu suất trong Postgresql khi sử dụng so sánh loại này không? –
@ZitaoXiong nó thực sự sử dụng một btree đơn giản (nên hơi nhanh hơn so với 'text's, nhưng điều đó phụ thuộc vào rất nhiều thứ). – pozs