• ベストアンサー

now()

MySQLの学習を始めたばかりです。 あるselectで抽出された結果の前に、1行2列で、その日時を 出力したいと思い select '出力日時:',now(); としましたが、 出力日時: now() 出力日時:  xxxx-xx-xx xx:xx となります。 select now() は now() xxxx-xx-xx xx:xx とという結果だからそうなるのもうなずけますが、 ではどうしたら 出力日時:  xxxx-xx-xx xx:xx の一行だけの結果になりますか? 教えてください。

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

  • ベストアンサー
回答No.1

やりたいことは、なんとなくわかります。 mysql コマンドラインツールを --skip-column-names を付けて起動してください。 C:\>mysql --skip-column-names これによって、結果にカラム名を表示しません。 出力日時: now() <-- カラム名 出力日時:  xxxx-xx-xx xx:xx <-- 結果 now() <-- カラム名 xxxx-xx-xx xx:xx <-- 結果 つまり、 mysql コマンドラインツールは通常、カラム名を表示するので2行表示されている様に見えますが、結果は1行です。 --skip-column-names は、カラム名(見出し)の表示制御をしています。 参考 http://dev.mysql.com/doc/refman/5.1/ja/mysql-command-options.html

Woertet
質問者

お礼

回答ありがとうございました。 そうです。カラム名ですね。 コマンドラインツールでカラム名の表示をなくしたら今度は、その後でselect文で抽出した結果にカラム名を表示するのがあって、しまったと思いましたが、単純にカラム名で表示したいものを、「select '文字列','文字列';」で表示しました。 望む結果を得られました。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

SQLから抽出されるデータは基本的には縦×横の表形式(?)になります select now() AS `出力日時`; などのようにするのが普通です また実用レベルでSQLを単体で使用するケースはあまりないので、表示用の成型を したりするのはアプリケーション側に任せた方が効率的です。

Woertet
質問者

お礼

回答ありがとうございます。 いずれはアプリケーションでやるように しようと思っています。 今は勉強中で、個人的なDBなので こんな質問をしました。 ありがとうございました。

関連するQ&A