web-dev-qa-db-ja.com

日時値を文字列に変換します

MysqlでNOW()を使用して現在の日付と時刻を取得しています。日付値をvarcharに変換し、別の文字列と連結します。どうすればいいのですか?

67
Khilen

DATE_FORMAT() を使用します

SELECT
  DATE_FORMAT(NOW(), '%d %m %Y') AS your_date;
130
Frank Heikens

これは非常に古いですが、2cを追加すると思いました。 DATE_FORMATは実際に文字列を返しますが、データベースに日時文字列が既にあり、それに対してパターンマッチングする必要がある状況で、CAST関数を探していました。

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

この場合、次を使用します。

CAST(date_value AS char)

これはわずかに異なる質問に答えますが、質問のタイトルは曖昧に思えるので、これは誰かが検索するのに役立つかもしれません。

53
Chords

これを試して:

concat(left(datefield,10),left(timefield,8))
  • 完全な日付yyyy-MM-ddに基づく日付フィールドの10文字。

  • フルタイムhh:mm:ssに基づく時間フィールドの8文字。

それはあなたが望むフォーマットに依存します。通常、上記のスクリプトを使用し、必要に応じて別のフィールドまたは文字列を連結できます。

実際に日付と時刻フィールドを読むと、文字列として処理されるためです。しかし、もちろん、更新または挿入中にエラーが発生します。

2
PROJECT D - DSS