Ho una tabella con tre colonne, birth_day, birth_month e birth_year. Tutti e tre sono INT. Mi piacerebbe CONCAT () questi e convertirli in EPOCH e salvarli in una nuova colonna.
Per CONCAT () questi valori che ho usato
SELECT CONCAT(birth_month, "/", birth_day, "/", birth_year) AS new_birthday from birthdaytable
Mi sto bloccando su come convertire questo inEPOCA. Vorrei provare a trasmettere new_birthday a un giorno quindi eseguire alcuni calcoli su questo, ma alcuni degli anni sono al di fuori della gamma DATE / YEAR per MySQL (alcuni sono prima del 1901)
Pensieri?
risposte:
1 per risposta № 1Dovrai cambiare il tuo CONCAT
prima, e combinalo con 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
0 per risposta № 2
Uso:
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