将字符串转换为EPOCH MySQL

时间:2014-04-10 14:49:12

标签: mysql concat epoch

我有一个包含三列的表,birth_day,birth_month和birth_year。这三个都是INT。我想要CONCAT()这些并将它们转换为EPOCH并将它们保存回新的列。

对于CONCAT()我使用的这些值

SELECT CONCAT(birth_month, "/", birth_day, "/", birth_year) AS new_birthday from birthdaytable

我对如何将其转换为EPOCH感到困惑。我会尝试将new_birthday投射到一天,然后对此进行一些计算,但有些年份超出MySQL的DATE / YEAR范围(有些是在1901年之前)

思想?

2 个答案:

答案 0 :(得分:1)

您必须先更改CONCAT,然后将其与UNIX_TIMESTAMP

结合使用
SELECT UNIX_TIMESTAMP(CONCAT(birth_year, "-", IF(birth_month < 10, CONCAT('0', birth_month), birth_month), "-", IF(birth_day < 10, CONCAT('0', birth_day), birth_day))) AS newField from birthdaytable

答案 1 :(得分:0)

使用:

mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');-> 1196440219

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