我有像 {10,13,20} 這樣的整數陣列
我必須在 IN 條件下傳遞這個陣列,例如
SELECT count(*) FROM table WHERE id IN (10,20,30)
我試過:
SELECT count(*) FROM table WHERE id IN(array_to_string(_array,','))
但它拋出了錯誤 casting operator does not exist: bigint = text
提前致謝
uj5u.com熱心網友回復:
您可以使用以下查詢:
演示
SELECT count(*) FROM test WHERE id = any(array[10,20,30]::int[]);
uj5u.com熱心網友回復:
使用string_to_array代替array_to_string。將結果陣列轉換bigint[]為idis的型別bigint。在這里,很容易被引數化:
SELECT count(*) FROM users u
WHERE id = any(string_to_array('10,20,30',',')::bigint[]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/397776.html
標籤:PostgreSQL的
上一篇:在另一個類中填充型別別的陣列
下一篇:如何查詢所有多邊形有1個點
