タイトル通りの内容です。
お仕事でちょっと手こずったのでメモ的な意味でまとめてみます。
いくつかのSELECT文をまとめるために「UNION句」を使ったのですが、
そこでこんなSQLエラーが発生してしまいました。
ORA-01790: expression must have same datatype as corresponding expression
エラー文で検索してみると、参考になりそうなサイトさんが、そこによると。
式には対応する式と同じデータ型を持つ必要があります
とこんな内容のエラーのようです。
なるほど、型が違うものを同じ項目名にしてまとめようとするとエラーになってしまうのか。
実際にエラーが発生したSQLを調べてみると、確かにVARCHAR型とNUMBER型で同じ項目名にしちゃってました。
型が違うならキャストすればいいじゃない。
ということでこのあたりを参考にしながら
CAST( 【NUMBER型の列名】 AS VARCHAR(8) )
こんな感じでNUMBER型をVARCHAR型にキャストして一時解決…。
UNIONもCASTも初めて使いました…
まだまだ勉強が足りませんね(;´Д`)
参考にしたサイト様:http://javasystem.blog4.fc2.com/blog-entry-191.html