ここから本文です

from_unixtimeで出た表示を 1975-01-17 00:00:00から38に変更したいんですがど...

mak********さん

2014/6/2010:46:45

from_unixtimeで出た表示を
1975-01-17 00:00:00から38に変更したいんですがどのようにすればいいでしょうか?

PHPで実行したSQLはこんなかんじです
select from_unixtime(dateOfBirth)
from tbl_tantou_data;

です
どのようにすればいいでしょうか?

それともうひとつなんですが
dateOfBirthの中に
-14397800と-の部分があるんですが
select from_unixtime(dateOfBirth)
from tbl_tantou_data;

でsqlを実行するとNULLになってしまいます
どうすればNULLにならずに済むでしょうか?

よろしくお願いします

閲覧数:
77
回答数:
1

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shimixさん

2014/6/2012:52:39

>38に変更したい

という意味がわかりませんが、from_unixtimeは第二引数にformatを指定出来ます。formatを変更したければそれで。

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



>dateOfBirthの中に
>-14397800と-の部分があるんですが

そもそもdateOfBirthといった内容をtimestampで保持するのが誤り。date型で保持すべきです。

dev.mysql.com/doc/refman/5.1/ja/datetime.html
------- 引用ここから
TIMESTAMP 値は 1970 以前や、2037 以降にはなり得ないという事です。これは、'1968-01-01' のような日付は、DATETIME や DATE 値としては有効ですが、TIMESTAMP 値としては無効で、0 に変換されるという意味になります。
------- 引用ここまで

  • shimixさん

    2014/6/2012:57:34

    (補足)
    もしアプリ側で -14397800 という符号付き整数になっていて、そのまま(符号付き整数で)格納しているのであれば、取り出しも同様に整数値のまま取り出してからアプリで扱う(フォーマットする)べき。

    MySQLで日付として扱えない値を格納しておいて、日付としてフォーマットして取り出せというのは無理です。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる