型 S から型 T1 および T2 への 2 つの変換を行うと仮定します。どちらの変換がより適切であるかは、次のように判別されます。
- T1 と T2 が同じ型である場合、どちらの変換が適切とは言えない
- S が T1 と同じ型である場合、T1 がより適切な変換である
- S が T2 と同じ型である場合、T2 がより適切な変換である
- T1 から T2 への暗黙的な変換が存在し、T2 から T1 への暗黙的な変換が存在しない場合、T1 がより適切な変換である
- T2 から T1 への暗黙的な変換が存在し、T1 から T2 への暗黙的な変換が存在しない場合、T2 がより適切な変換である
- T1 が BINARY-CHAR であり、T2 が BINARY-CHAR UNSIGNED、BINARY-SHORT UNSIGNED、BINARY-LONG UNSIGNED、または BINARY-DOUBLE UNSIGNED である場合、T1 がより適切な変換である
- T2 が BINARY-CHAR であり、T1 が BINARY-CHAR UNSIGNED、BINARY-SHORT UNSIGNED、BINARY-LONG UNSIGNED、または BINARY-DOUBLE UNSIGNED である場合、T2 がより適切な変換である
- T1 が BINARY-SHORT であり、T2 が BINARY-SHORT UNSIGNED、BINARY-LONG UNSIGNED、または BINARY-DOUBLE UNSIGNED である場合、T1 がより適切な変換である
- T2 が BINARY-SHORT であり、T1 が BINARY-SHORT UNSIGNED、BINARY-LONG UNSIGNED、または BINARY-DOUBLE UNSIGNED である場合、T2 がより適切な変換である
- T1 が BINARY-LONG であり、T2 が BINARY-LONG UNSIGNED または BINARY-DOUBLE UNSIGNED である場合、T1 がより適切な変換である
- T2 が BINARY-LONG であり、T1 が BINARY-LONG UNSIGNED または BINARY-DOUBLE UNSIGNED である場合、T2 がより適切な変換である
- T1 が BINARY-DOUBLE であり、T2 が BINARY-DOUBLE UNSIGNED である場合、T1 がより適切な変換である
- T2 が BINARY-DOUBLE であり、T1 が BINARY-DOUBLE UNSIGNED である場合、T2 がより適切な変換である
- それ以外の場合、どちらの変換が適切とは言えない
S から T1 への変換が S から T2 への変換よりも適切である場合、S から T2 への変換が S から T1 への変換より劣っているとも言えます。