2011-12-21 5 views
21

文字列をMySQLのUNIXタイムスタンプに変換する方法はありますか?mysqlのタイムスタンプ文字列

たとえば、私は文字列2011-12-21 02:20pmを持っていますが、これはUNIXのタイムスタンプ形式である必要があります。

+1

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp – cristian

答えて

36

UNIX_TIMESTAMP()は、トリックを行います。

SELECT UNIX_TIMESTAMP('2011-12-21 14:20:00'); 

はしかし、UNIX_TIMESTAMP()機能は、標準のMySQLフォーマットされた日付になります。 a'rはすでに正しい答えを与えている@、まだ私はここに追加したい何かがあることですが

SELECT UNIX_TIMESTAMP(
    STR_TO_DATE('2011-12-21 02:20pm', '%Y-%m-%d %h:%i%p') 
); 
17

:あなたはAM/PM表記を使用する場合は、次のように最初のSTR_TO_DATEを使用する必要がありますSTR_TO_DATE()関数 '日付文字列'形式と '日付形式'文字列は、 ' - 'と ':'の一致する配置を持つ必要があります。 4つのクエリを次例えば

が全く同じ結果を返す2014年5月28日11時30分10秒

SELECT STR_TO_DATE('2014-05-28 11:30:10','%Y-%m-%d %H:%i:%s'); 

SELECT STR_TO_DATE('20140528 11:30:10','%Y%m%d %H:%i:%s'); 

SELECT STR_TO_DATE('2014-05-28 113010','%Y-%m-%d %H%i%s') ; 

SELECT STR_TO_DATE('20140528 113010','%Y%m%d %H%i%s'); 

STR_TO_DATEに 2つのparamsは()関数それぞれにクエリに ' - 'と ':'の一致する配置があります

関連する問題