• ベストアンサー

SQLの文法でわからないことがあります

SQLで名前の属性に「様」をつけて取り出したい場合はどうしたらいいのですか。 参考書に書いてあるようにやったのですが、そうすると0が出力されてしまいました。(もとのテーブルにはちゃんと名前が入っています) よろしくお願いします。 mysql> select customername || '様' as お名前 from customers; +--------+ | お名前 | +--------+ | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | | 0 |

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

「||」は論理和演算子です。文字列結合はCONCAT()だそうで。 詳しくは、mysqlのリファレンスをどうぞ。 もう確認済みだったら、ごめんなさい。

参考URL:
http://www.s-quad.com/wordpress/?p=1319
thjki6624
質問者

お礼

ありがとうございます!

その他の回答 (3)

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.4

Oracleの文法では、 文字列型の連結に || を使います(Concatもあるけど)。 ⇒CONCAT(A,B)と A || B が同じ結果となる。 ## 選んだ参考書がOracle用だとかないですか? MySQLは他の方が書いておられるように CONCATを使う必要があるようです。 ## ちなみに、SQL Serverは、A + B(Concatもあるけど) ## CONCATはほぼ共通ですが、他はデータベースソフトによってばらばらとなっている ## 要素の一つでした。

thjki6624
質問者

お礼

なるほど、ありがとうございます。

回答No.3

cancatはconcatの間違いです。

thjki6624
質問者

お礼

ご丁寧にありがとうございます。

回答No.2

select cancat(customername,'様') as お名前 from customers です。

thjki6624
質問者

お礼

ありがとうございます。

関連するQ&A