mySQL(+PHP)で、 2013/11/06 といった形(2013-11-06でもOK)の日付情報をデータベースのテーブルに書き込みたいと思います。そのとき、


$sql = sprintf("INSERT INTO table_x SET 日付=○○","2013/11/06");

となると思うのですが、○○部分は何になりますか? %s, %d に類したものがあると思うのですが・・・。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/11/11 02:44:28
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

ポイント100pt

%s, %d というのは 普通 呼び出すときに変換に使うものだと思いますが。

http://dev.mysql.com/doc/refman/5.1/ja/date-and-time-functions.html


日付にしたいときは 日付型にcastしてやります。

cast('2009-08-03' as date)

http://www.hiihah.info/index.php?E71%EF%BC%9AMySQL%E3%81%A7%E3%81%AE%E6%97%A5%E4%BB%98%E3%80%81%E6%99%82%E5%88%BB%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B5%E3%83%BC%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

id:lionfan2

id:taknt様、ありがとうございます。了解です。

2013/11/11 02:44:19
  • id:windofjuly
    うぃんど 2013/11/06 09:41:58
    情報不足です
    ・table_xの日付フィールドのデータ型によって対応は少し変わります
    ・php側で整形するのか?MySQL側で整形させるのかによっても変わります。
    ・整形する前のデータはどのような形なのかによっても変わります。

    >%s, %d に類したもの
    とりあえずマニュアルを示しておきますね。
    http://php.net/manual/ja/function.sprintf.php
  • id:lionfan2
    id:windofjuly様、遅れてしまって申し訳ございません。
    ありがとうございます。なんとか解決いたしました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません