助け合いフォーラム
Oracle Master Silver SQL 2019(1Z0-071)
問題ID : 26836
問題を開く
次の実行結果となるSQL文として正しいものはどれですか。
ただし、実行環境は日本語環境とします。
¥500,000.0
ただし、実行環境は日本語環境とします。
¥500,000.0
正解
SELECT TO_CHAR(500000, 'L999G999D0') FROM dual;
SELECT TO_CHAR(500000.0, 'L999G999D0') FROM dual;
解説
TO_CHAR関数は数値を書式化した文字列に変換します。
設問では、数値を3桁ごとにカンマ(,)で区切り、小数点以下1桁を表示しています。カンマ(,)や小数点(.)は数値書式の中でそのまま用いることができますが、カンマは「G」、小数点は「D」で指定することもできます。なお、数値書式において、カンマを小数点の右側に指定することはできません。
また、¥記号を表示する場合は、ローカル通貨記号の「L」を指定します。
以上より、
・SELECT TO_CHAR(500000, 'L999G999D0') FROM dual;
・SELECT TO_CHAR(500000.0, 'L999G999D0') FROM dual;
が正解となります。
正解のSQL文の実行結果は次のようになります。
![【図を表示】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/20297/k49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=d8d0ff073d2a7ad70e99e8a8e45a8de7034e2c868c62dc10c7c3e3f209132d26)
![【図を表示2】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/20298/kk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=910f9712ec7465904529b6feed2060adc4a5c00690f8ea0893991bd5a27177ad)
その他の選択肢については、以下のとおりです。
・SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual;
TO_NUMBER関数は、文字列を指定された書式にしたがって数値に変換します。変換された数値は¥やカンマを含むことは出来ないため、誤りです。
![【図を表示3】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/26113/kkk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=26f14ce176e341a74f4cf851575e123d534240435e72f7677b92524503042371)
・SELECT TO_CHAR('¥500,000.0', 'L999G999D0') FROM dual;
TO_CHAR関数を使用していますが、第1引数には「¥」や「,」が含まれた文字列が指定されているため、エラーとなります。したがって、誤りです。
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/26114/kkkk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=140eb39d58154a2e8cdddf680845dd239db325e644a9bcbbb0c23711f53c950e)
・SELECT TO_CHAR(500000, 'L999D999G0') FROM dual;
数値書式において、カンマ(G)を小数点(D)の右側に指定することはできないため、エラーとなります。したがって、誤りです。
設問では、数値を3桁ごとにカンマ(,)で区切り、小数点以下1桁を表示しています。カンマ(,)や小数点(.)は数値書式の中でそのまま用いることができますが、カンマは「G」、小数点は「D」で指定することもできます。なお、数値書式において、カンマを小数点の右側に指定することはできません。
また、¥記号を表示する場合は、ローカル通貨記号の「L」を指定します。
以上より、
・SELECT TO_CHAR(500000, 'L999G999D0') FROM dual;
・SELECT TO_CHAR(500000.0, 'L999G999D0') FROM dual;
が正解となります。
正解のSQL文の実行結果は次のようになります。
![【図を表示】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/20297/k49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=d8d0ff073d2a7ad70e99e8a8e45a8de7034e2c868c62dc10c7c3e3f209132d26)
![【図を表示2】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/20298/kk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=910f9712ec7465904529b6feed2060adc4a5c00690f8ea0893991bd5a27177ad)
その他の選択肢については、以下のとおりです。
・SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual;
TO_NUMBER関数は、文字列を指定された書式にしたがって数値に変換します。変換された数値は¥やカンマを含むことは出来ないため、誤りです。
![【図を表示3】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/26113/kkk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=26f14ce176e341a74f4cf851575e123d534240435e72f7677b92524503042371)
・SELECT TO_CHAR('¥500,000.0', 'L999G999D0') FROM dual;
TO_CHAR関数を使用していますが、第1引数には「¥」や「,」が含まれた文字列が指定されているため、エラーとなります。したがって、誤りです。
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/26114/kkkk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=140eb39d58154a2e8cdddf680845dd239db325e644a9bcbbb0c23711f53c950e)
・SELECT TO_CHAR(500000, 'L999D999G0') FROM dual;
数値書式において、カンマ(G)を小数点(D)の右側に指定することはできないため、エラーとなります。したがって、誤りです。
![【図を表示5】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/26115/kkkkk49241.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=ea76086874804e2c87e9f18405f9000dfcc5c03281a0020689bca38674faba86)
参考
TO_CHAR関数は、数値や日付値を指定された書式に従って文字列に変換する関数です。
第1引数に数値が指定された場合は、数値を文字列へ変換します。
書式は以下の通りです。
TO_CHAR(数値 [, '数値書式'] [, NLSパラメータ])
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19457/kkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=ae1a02f729bc8bc693281d2caba19f961f773b0d3043cda23c9642353881ca19)
数値書式は数値を文字列に変換する際のフォーマットです。数値書式に使用できる主な要素は次のとおりです。
![【図を表示5】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19458/kkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=5372e4ae84cd2d09d94bfea3317bdcadab3a686db67c64846353b2f0f7b53275)
数値書式が省略された場合は、第1引数で指定された数値の有効桁数を保持するために十分な長さの文字列に変換されます。
NLSパラメータを指定すると、小数点文字、桁区切り文字、国際通貨記号、各国通貨記号を指定することができますが、省略された場合は、現在のセッションのデフォルトのパラメータ値が使用されます。
なお、第1引数で指定した数値(小数点より左の整数部)よりも数値書式の桁数が少ない場合など、数値を適切に変換できない場合は、次のように#記号が表示されます。
![<img src="/mondai3/img/jpg/k52375.jpg">](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19456/k52375.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=b481569b06d2d0e6a8d63990660ab9a10d37b7b511ee7a561371bb256295daec)
第1引数で指定した数値の小数点以下は、数値書式の桁を超えていても四捨五入されて正常に表示されます。
![【図を表示8】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/21517/kkkkkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=67b7bea1cdaa83ba2d2c7d9fbbf268841f7f90feced30437bc7eb2a69202697a)
また、第1引数の数値にマイナスの値が指定された場合は、数値書式に従って変換された文字列に-符号が適用されます。
![【図を表示7】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19459/kkkkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=013255cfcab1ecd4b3239bf357e9aaad19d3d2abb20f4cc7a7f692043f5b74b4)
第1引数に数値が指定された場合は、数値を文字列へ変換します。
書式は以下の通りです。
TO_CHAR(数値 [, '数値書式'] [, NLSパラメータ])
![【図を表示4】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19457/kkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=ae1a02f729bc8bc693281d2caba19f961f773b0d3043cda23c9642353881ca19)
SQLを表示
SELECT TO_CHAR(1234.567, 'S99999.999')
FROM dual;
FROM dual;
数値書式は数値を文字列に変換する際のフォーマットです。数値書式に使用できる主な要素は次のとおりです。
![【図を表示5】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19458/kkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=5372e4ae84cd2d09d94bfea3317bdcadab3a686db67c64846353b2f0f7b53275)
数値書式が省略された場合は、第1引数で指定された数値の有効桁数を保持するために十分な長さの文字列に変換されます。
NLSパラメータを指定すると、小数点文字、桁区切り文字、国際通貨記号、各国通貨記号を指定することができますが、省略された場合は、現在のセッションのデフォルトのパラメータ値が使用されます。
なお、第1引数で指定した数値(小数点より左の整数部)よりも数値書式の桁数が少ない場合など、数値を適切に変換できない場合は、次のように#記号が表示されます。
![<img src="/mondai3/img/jpg/k52375.jpg">](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19456/k52375.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=b481569b06d2d0e6a8d63990660ab9a10d37b7b511ee7a561371bb256295daec)
SQLを表示
SELECT TO_CHAR(commission, 'L999,999')
FROM employees;
FROM employees;
第1引数で指定した数値の小数点以下は、数値書式の桁を超えていても四捨五入されて正常に表示されます。
![【図を表示8】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/21517/kkkkkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=67b7bea1cdaa83ba2d2c7d9fbbf268841f7f90feced30437bc7eb2a69202697a)
また、第1引数の数値にマイナスの値が指定された場合は、数値書式に従って変換された文字列に-符号が適用されます。
![【図を表示7】](https://ping-t-production-strg.s3.ap-northeast-1.amazonaws.com/uploads/question_image/file/19459/kkkkkkk48937.jpg?X-Amz-Expires=600&X-Amz-Date=20240727T033821Z&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEAcaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAJ7mkC5JfvSdLioYGKPvL4LNMvPwvSDw5e6Trr2wGIteAiEA3PTHM4A2nrwe%2FsKtasucFN4M2bX8SdlW8y7dOzQ7puAqsQQI4P%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw2MjM0Mjk4MjcyNzUiDCdr3QPeyekWGLgFlSqFBKpCSz3SbveHUOGK2zeHLuVO2cItM42HqGJgxnLQS8wor%2BLtL3EVqtpbI8I26UG8TqsQ8ROdervHWNtEF2b0YDJeJ9OA1lTqIYRGfXT%2F0vga3BjTreZymRtCJxCBhuiBlLx6LQiOAsHh%2FqccRNGloBAcTGOzTHzFySnilRiwHeUfF7A5ENm3WS77BOMgNIZfQ%2BqOl8DiCoR%2F4pFqTREpbE2newnXyJLC2naNMvWg1VqNXBmsUkeGPKModBV7IXhjp1KuIo9uTCVLHTNNGeQ4QqJXaMCzwY2TCu7f5A%2B2AI9RzVu2xa8dHndhkOWtL3p4ayYMuYoNaeoGWRjuvKAfvdYlpLmHd%2BI8qb%2FC3r%2B5QEGEwE6pzDvX9RBseNeDx8xV0oY3WH47HS2TwZrFSsSIXfbkWRUtqnwGPsh6HHGcZ%2BttEmkB0id8owV%2F%2BkDcKcBkVSnEZ14UIczdWOipIytNI88HHsMahQhW0FL%2FV8DANDrF%2B0iLCjVNlTQpqDd0TBecXiGaUeXwyxJJtZBty4IzeiiGodEmdZvMXRG5J8BWMG5rjxSe2gTe%2BZWtFkw9B0DCFxZM%2Bz2LeV%2BDRXD0Ztn4Rjqo4pKn1IJTo2XPksV3q%2FS25FfXPCV%2BgYiqfEWMhZEBnMMp%2FlJQQ9O5lQWu%2FO3Rpbv0WmlwCYOqfaxafD26T5iJNCIiFkcw0N6QtQY6pQHbqvxSzEhMcFvQGQ8HD8a0AHu3DdZP%2FFuA131Jli24oxUqgn74dE0s2tjZNl10mAmXJ5spI8Xq5uL5E8yYKCD3dkwfq5sjHkAWdViw1VYA64tvvmrYdURs3iermXNq44RnmgovPmGbpOgB4SNjrt6dNp7tl00mC8JEZu%2BNsrX97GRXuPviHi2WTlfk2%2FmfdOlDwvz8NsaG50T63jElW1sev%2BBZ0UU%3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAZCJ2QHLF74BLTX7P%2F20240727%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-SignedHeaders=host&X-Amz-Signature=013255cfcab1ecd4b3239bf357e9aaad19d3d2abb20f4cc7a7f692043f5b74b4)
SQLを表示
SELECT TO_CHAR(-1234.567, '09999.999')
FROM dual;
FROM dual;
TO_NUMBER関数がエラーになる
公開日 2024/02/21
問題については正しい選択肢について理解しておりますが、次の選択肢に関して、エラーがなく正しく動作しているかどうか疑問があります。
SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual;
TO_NUMBER関数は、文字列を指定された書式にしたがって数値に変換します。変換された数値は¥やカンマを含むことは出来ないため、誤りです。
実際にクエリを実行したところ、無効な数値というエラーが発生しました。したがって、この選択肢はクエリ自体が無効である可能性があります。
なぜこのクエリがエラーになるのか、それは環境の違いによるものかどうかについては明確ではありませんが、ご教示いただけますと幸いです。
r
rink_rew
2024/02/21 16:37
このSQL文自体には特段問題はなく、言語環境の問題だと思います。
私はUTF8環境ですが、解説と同じ出力結果でした。
※検証用データの提供ページに「DBのキャラクタセットは「Unicode(AL32UTF8)」を想定」と記載されていたのでそれに従っていました。
問題文の冒頭で「実行環境は日本語とする」と言及しているのは、通貨記号「¥」が含まれているからですかね。
SQL> !echo $NLS_LANG
Japanese_Japan.AL32UTF8
SQL> select parameter, value from NLS_DATABASE_PARAMETERS where parameter = 'NLS_CHARACTERSET';
PARAMETER VALUE
-------------------- --------------------
NLS_CHARACTERSET AL32UTF8
SQL> SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual;
TO_NUMBER('¥500,000.0','L999G999D0')
------------------------------------
500000
試しに英語に変えてみると、ORA-01722のエラー(「数値が無効です」のエラー)が発生しました。
通過記号「¥」が一致しなくなるためだと思います。
SQL> !echo $NLS_LANG
American_America.WE8MSWIN1252
SQL> SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual;
SELECT TO_NUMBER('¥500,000.0', 'L999G999D0') FROM dual
*
ERROR at line 1:
ORA-01722: invalid number
余談ですが、「$」などとすればエラーは発生しません。
SQL> !echo $NLS_LANG
American_America.WE8MSWIN1252
SQL> SELECT TO_NUMBER('$500,000.0', 'L999G999D0') FROM dual;
TO_NUMBER('$500,000.0','L999G999D0')
------------------------------------
500000
コメント
この投稿に対して返信しませんか?
s sekakuma3
2024/02/22 21:45
確かに、"$"に変更したらエラーが発生せずに実行できました。 言語環境については完全に理解していませんが、文字列に通貨の記号やコンマが含まれていても、SQL自体に問題がないことを理解しました。 丁寧にご説明いただき、ありがとうございます。