sql >> データベース >  >> RDS >> PostgreSQL

'2'> '10'なのはなぜですか?

    PostgreSQLは舞台裏でタイプを自動的に把握しようとし、Linuxでは''を取り除こうとしていると思います。一部の比較もロケールに基づいています。

    • したがって、' 2' > '10' '2'>'10'になります 比較は'2'>'1';それらは等しくないので、文字列の残りの部分、およびascii('2')を続行する必要はありません。 ascii('1')より大きい 、したがって、trueと評価されます。

    • 等価演算(例: '22' ='22')の場合、Postgresはバイトごとの比較を行うため、falseになります。エンジンは比較を行うときに2つの異なるアルゴリズムを使用するため、これは重要です。

    • 型キャストを介してタイプを指定した場合、スペースルール(' '=>'')は上書きされません。 。

    クレジットは次の場所にも適用されます: #postgresqlのRhodiumToadとPeerce



    1. Postgresでシーケンス名のリストを取得するにはどうすればよいですか?

    2. Postgres関数の列名としてパラメーターを使用する

    3. キー'group_key'の重複エントリ

    4. sudo yuminstallphp55w-mysqlndの競合