アプリ版:「スタンプのみでお礼する」機能のリリースについて

MySQLのDATE型のカラムに2014-03-07 という日付が入っています。
これをPHP echo で呼び出すと、当然ですが2014-03-07と表示されます。
これを03-07 と表示したいのですが、どのような方法がありますでしょうか?
よろしくお願いいたします。

A 回答 (5件)

既に補足回答がついていますがバッククォートとシングルクォート/ダブルクォートはちゃんと使い分けてください。



バッククォートとは?
http://php1st.com/1184/
    • good
    • 0
この回答へのお礼

有難うございます。お蔭様でできました!!
本当に有難うございました。

お礼日時:2014/03/06 23:06

よけいなお世話だと思いますが・・・



MySQLから渡すデータが「03-07」だと、「2014-03-07」と「2013-03-07」など
年が違うデータが競合します。
可能な限り渡す段階ではYYYY-MM-DDの形でおこない、PHP側で加工する方がよいと思います。

またPHP側で「03-07」とデータを持った時、感覚的に日付データだと認識しづらい
フォーマットになっています。
せめて「03/07」にするなど、工夫が必要かもしれません
    • good
    • 0
この回答へのお礼

有難うございます。
はい、ここで問い合わせているSQL文はPHP内に記載します。
createdateカラムにある「2014-03-07」の文字をここで作ったPHPで「03-07」という形に読み出すようにしています。
ご指導有難うございました。

お礼日時:2014/03/06 23:09

>SELECT name,DATE_FORMAT('create_date', '%m-%d') AS create FROM data



'create_date'という文字列リテラルをdate_formatで書式化するのは無理です。date_formatの第一引数は日付形式のリテラルもしくは「列名」でないといけません。

SELECT name,DATE_FORMAT(create_date, '%m-%d') AS create FROM data

もしくは(バッククォートで括って)

SELECT name,DATE_FORMAT(`create_date`, '%m-%d') AS create FROM data

ですよね?
    • good
    • 0
この回答へのお礼

有難うございます。お蔭様でできました!!
本当に有難うございました。

お礼日時:2014/03/06 23:06

訂正



SELECT DATE_FORMAT(`カラム名`, '%m-%d') AS `取り出したい名前`;

この回答への補足

いつもご助言を頂き有難うございます。

SELECT DATE_FORMAT('1997-10-04', '%m-%d');
で、月、日が表示されることを確認しました。

しかしながら、下記のようなSQL文にすると、nameは出てきますがcreateはNULLになってしまいます。

どこがいけないのかご助言頂けましたら幸いです。
大変ご迷惑をお掛けいたしますがよろしくお願いいたします。


SELECT name,DATE_FORMAT('create_date', '%m-%d') AS create
FROM data


SELECT name,(SELECT DATE_FORMAT('create_date', '%m-%d')) AS create
FROM data

補足日時:2014/03/06 07:43
    • good
    • 0

MySQLマニュアル - 日付と時刻関数


http://dev.mysql.com/doc/refman/4.1/ja/date-and- …

SELECT DATE_FORMAT(`カラム名`, '%m, %d') AS `取り出したい名前`;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!