• ベストアンサー

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 の一行だけの結果になりますか? 教えてください。

  • MySQL
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答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

  • @のみを含む文字列を抽出

    メールをエクスポートしたテキストファイルがあり、そこからメールアドレスだけを抽出したいと思っています。 Windowsで仕事をしており、とりあえずQGREPというフリーウェアを使っているんですが、「@」という文字列で検索をかけると、「@」を含む「行全体」を出力してしまいます。 出力イメージとしてはこんな感じです。 ========================================== From Postmaster@xxxx.xxxx.co.jp Mon Sep 06 05:10:13 2004 Message-ID: <20040905201013.15166.qmail@xxxxx.com> 発行人: XX XX xxxxxxx@xxxx.com ========================================== こういうファイルからメールアドレスだけを抽出する方法が分からないので、今は手作業でやっているんですが、@を含む文字列(文字の塊)だけをうまく抽出する方法はないでしょうか? 宜しくお願いします。

  • 1列について重複行を除いて全列をSELECTするSQL文

    A B C 1 2 10-01 2 3 10-01 3 2 10-02 4 1 10-03 5 3 10-04 MYSQLで上のようなTABLEから、B列についてCが最新の日付の行を1行ずつ、且つ全列抽出したいです。想定する結果は下記の通りです。 3 2 10-02 4 1 10-03 5 3 10-04 SELECT DISTINCT A FROM table_name ORDER BY C DESC だとB,C列は抽出されず、DIATINCT A,B,Cだと全行抽出されてしまう。 GROUP BY B は平均や集計なら使えるでしょうが最新の1行でないし。 どんなSQL文にすれば良いのでしょうか。よろしくお願いします

    • ベストアンサー
    • MySQL
  • SELECT句の指定フィールドに固定値を追加して、結果に表示させたい

    例えばこんな感じでクエリを書くと、 SELECT id, name, 'xx' FROM test_table WHERE 1 結果は、3列目の'xx'はタイトル行から全ての行の値まで'xx'になります。 id  name  xx 1   aaa   xx 2   bbb   xx 3   ccc   xx これを、値のみにしてタイトルには別の文字列を出したいです。 タイトルと値といった形で固定値の指定はできますか? こういう結果にしたいです。 id  name  test 1   aaa   xx 2   bbb   xx 3   ccc   xx

    • ベストアンサー
    • MySQL
  • MySQLのDatetime型の検索方法

    MySQLのDatetime型で 時間部分が00:00:00のデーターだけを抽出する方法を教えてください。 MySQLのデータ(列:Datetime型) 2011-12-01 00:00:00 2011-12-01 20:15:45 2011-12-01 20:46:45 2011-12-02 00:00:00 2011-12-02 11:11:11 2011-12-03 22:22:22 2011-12-04 00:00:00 このようなデータの中から時間部分が「00:00:00」のものを抽出したいと思います。 求める結果は 2011-12-01 00:00:00 2011-12-02 00:00:00 2011-12-04 00:00:00 です。 期間で抽出するのであれば SELECT * FROM `テーブル名` WHERE date>='2012/12/05 00:00:00' AND date<='2012/12/07 23:59:59' のようなクエリで良いと思うのですが、「00:00:00:」が含まれるものだけを抽出しようと思うとうまくいきません。 LIKE 00:00:00 でできるかもしれないと思いましたがダメでした。

    • ベストアンサー
    • MySQL
  • mysql_num_rowsを使わず、SQL文のCOUNT関数で件数を得たい

    以下のサンプルを実行すればうまくいくのですが、 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); $selectdb = mysql_select_db($DBNAME, $con); $sql = "select * from mytable where number = 10"; $rst = mysql_query($sql, $con); $countnum = mysql_num_rows($rst); echo $countnum . "件のレコードがありました。<br>"; ◆実行結果: 10件のレコードがありました。 「10件のレコードがありました。」という一行の実行結果を得たい目的なら、 三行目を「$sql = "select count(*) from mytable where number = 10";」 みたいにCOUNT関数を使っても結果が得られそうに思います。 というかむしろ、その方がコードが短くて済みそうな気がするのですけど。 その場合、4~6行目のPHPコードはどのように記述したらいいでしょうか。 echo $rst; としても、変な文字列を返してきました。

    • ベストアンサー
    • PHP
  • MySQL + PHP 同じテーブル内でのクエリについて

    PHP+MySQL勉強中の初心者です。 PHP+MySQL環境でのクエリについて、以下の条件でのクエリ結果を求めたいのですが、上手くできませんので、質問させてください。 MySQLのテーブルは以下のようになっています。 date        no   name ---------------------------- 2009-12-10   15   takada 2009-12-15   10   hirooka 2009-12-18   13   wakada 2010-01-10   15   takada 2010-01-11   13   wakada ----------------------------- 出力させたいクエリは、前月データを元にno列をKEYとした重複チェックです。 前月データを全件出力し、当月データに同じnoがあった場合、当月日付を 表示させたいと思っています。 (PHPで希望する出力結果) date       no   name     date2 ---------------------------------------- 2009-12-10  15   takada   2010-01-10 2009-12-15  10   hirooka 2009-12-18  13   wakada   2010-01-11 ----------------------------------------- 以下のようなソースでは、1行のみの出力結果しか表示されず、 whileの使い方に問題があると思うのですが、どのように解決すれば良いのかが解りません。 どうか、解決策をよろしくお願いいたします。 $mysql->query("SELECT * FROM xxxx where date LIKE '$y-$m%'"); while($row = $mysql->fetch()){ $date = $row["date"]; $no = $row["no"]; $name = $row["name"]; $mysql->query("SELECT * FROM xxxx where upddate LIKE '$y2-$m2%' and no = '$no'"); while($row = $mysql->fetch()){ $date2 = $row["date"]; echo <<<EOT <td>$date</td> <td>$no</td> <td>$name</td> <td>$date2</td><tr> EOT; } }

    • 締切済み
    • PHP
  • VBAでデータを縦結合する方法

    A.xlsというExcelブックにSheet1~Sheet35があります。 各シートには以下のような同じフォームのデータが入っています。 XXXX部分と生徒数はデータごとに異なります。 生徒氏名 国語 数学 理科 社会 英語 XXXX XX XX XX XX XX XXXX XX XX XX XX XX   :   :  :  :  :  : XXXX XX XX XX XX XX XXXX XX XX XX XX XX XXXX XX XX XX XX XX いま、Sheet1の前に「併合」というシートをつくり、 そのシートに Sheet1のデータ Sheet2のデータ Sheet3のデータ : Sheet35のデータ というようにすべてのデータを縦に結合した結果を出力したいと考えています。 これを書くためのVBAコードを教えていただけないでしょうか。 よろしくお願いいたします。

  • C言語でファイルからの文字列抽出について

    C言語でファイルからの文字列抽出について INPUTファイルからキーワードを探し、キーワードがあった行をOUTPUTファイルに出力したいのですが、どうしたら良いかわかりません。 //一行ずつ読み込む while(fgets(buf,sizeof(buf),fp)!=NULL){ //文字列からキーワードを探す //キーワードがある一行をOUTPUTファイルに出力 } こんな感じになると思うのですが、どういうコードを書いたら良いかわかりません。 分かる方いらっしゃいましたらご回答宜しくお願いします。

  • 文字列の抽出について

    A列に 500行位の文字列があり、 その行の中から以下を抽出したいです。 ただ、抽出したい文字列は、0123456で始まり、abcdという文字列まで。 しかも改行されています。 ※抽出したい文字列 【A列 0123456 ~ B列 abcd】という文字列 【F列 0123456 ~ B列 abcd】という文字列 A列 0123456 B列 xxxx abcd C列 1111 D列 2222 E列 3333 F列 0123456 G列 xxxx abcd H列 4444 I列 5555 J列 6666 宜しくお願い致します。

  • オートフィルタ使用時のマクロによるセルの移動

    オートフィルタによって抽出した結果、表示されている行の内容を順々に参照していきたいのですが、 どうすればよいのでしょうか? 簡単なことのような気がするのですが・・・。 ActiveCell.Offset(1, 0).Select とすると、フィルタによって非表示になっている行にも移動してしまいます。 フィルタによって抽出する項目は複数の列を使用するので、マクロでは抽出条件を設定しません。 以上、お願いしまーす。