0
私のOracleデータベースでは、2つの数字で< =の比較を行うと、奇妙な動作に気付きました。そして私はその問題を発見した。 .netコードは、文字列型のDbParameterとして値の1つを渡していました。そして、他の数字のOracleの列の型はvarcharでした。だから本質的に起こっていたのは< =実際にはvarcharsであった2つの数字です。どうしますか? <= 2つのvarchars?
PLSQLで次のような記述が正しい理由を説明できますか?
'10000001' <= '50000'
1種類5 ASCIIabetically前。 – tadman
これは数字比較とは異なる動作をする文字列比較です。 – NendoTaka
[データ型の比較](https://docs.oracle.com/database/121/SQLRF/sql_elements002.htm#SQLRF30027)のルールを参照してください。基本的に、 '' 1''はあなたのキャラクタセットの文字として比較されるとき、 ''より小さい '' ''です。 –