1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

発端

姓と名でカラムが分かれているテーブルから、
氏名として1カラムで出力したい時ちょっとハマったことがありました。

CONCAT関数を使用して、

SELECT CONCAT(last_name, first_name) FROM table;

とすると無事に下記のように表示されます。

氏名
山田太郎

問題

ところが、姓と名の間にスペースを入れたいと思い

SELECT CONCAT(last_name, ' ', first_name) FROM table;

とすると ORA-00909: 引数の個数が無効です。 でエラーとなります。
他のDBMSですとこれで問題ないのですが、OracleではCONCAT関数の引数は2個までなんですね。

解決

調べたところ、Oracleでは下記の様にすることでも文字列連結ができ、無事に目的を達成できました。

SELECT last_name || ' ' || first_name FROM table;
氏名
山田 太郎

ここら辺は統一してほしいですね…

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?