অ্যারে দিয়ে কীভাবে সিলেক্ট করতে হয় তার মধ্যে পিএসকিএল-তে মান ধারা রয়েছে


99

আমার কলাম আছে arr যা টাইপ array

আমার সারিগুলি পাওয়া দরকার, যেখানে arrকলামে মান রয়েছেs

এই ক্যোয়ারী:

SELECT * FROM table WHERE arr @> ARRAY['s']

ত্রুটি দেয়:

ত্রুটি: অপারেটরটির অস্তিত্ব নেই: চরিত্রটি পৃথক [] @> পাঠ্য []

কেন এটি কাজ করে না?

PS আমি any()অপারেটর সম্পর্কে জানি , কিন্তু কেন @>কাজ করে না ?

উত্তর:



68

মনে রাখবেন এটি কাজ করতে পারে:

SELECT * FROM table WHERE s=ANY(array)

4
এবং এটি আমাকে বারচারে কাস্ট করার প্রয়োজন থেকে বাধা হিসাবে বাধা দেয় s @> ARRAY['constant'::varchar]
অ্যান্ড্রু ব্যাকার

এটি জিআইএন সূচকটি ব্যবহার করবে না তাই আমি এটি ব্যবহার করব। আমি ভুল হলে আমাকে সংশোধন করুন
গরিলাএপ

17
SELECT * FROM table WHERE arr && '{s}'::text[];

কনটেন্টের জন্য দুটি অ্যারে তুলনা করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.