私はPostgresqlを使ってRuby gemのバージョン番号を格納しています。私はこれらのバージョンをユーザーが提供するカスタム述語とベースバージョンでフィルタリングしたいと思います。そのために、両方のバージョンを整数の配列に変換しています(比較のため)。4.2.0
は'{4,2,0}'
になります。PostgreSQLで長さの異なる配列を比較する
これは正常に動作します:配列の長さが異なる場合
'{4,0,0}' < '{4,1,0}' # yields TRUE
はそれでも、私は問題を抱えています:
'{4}' < '{5,0,0}' # yields TRUE
'{4,1,2}' < '{4,1}' # also yields TRUE when it should be FALSE
私はドキュメントのこの特定の問題に関連して何かを見つけることができませんでした。どのように私は後に何を達成することができますか?より少ない要素を持つ配列がゼロ(私の期待された振る舞いにつながる)で埋められているなら、素晴らしいでしょう。
"array"が意味することはわかりませんが、 'select '{4,1,2}' :: int [] <'{4,1}' :: int [];'はFALSEを返します。 .. – Abelisto
ああ、私は確かに疲れている。これを指摘してくれてありがとう!あなたはそれに対する答えを加えることができます。 – linkyndy
それはちょうどタイプミスだと思うことができます:o)幸運。 – Abelisto