我想將YYYY-MM-DD列轉換爲unix時間戳。與此問題類似:MySQL - Convert MM/DD/YY to Unix timestampMySQL將YYYY-MM-DD轉換爲unix時間戳
MySQL似乎並未將「2012-05-10」的值轉換爲正確的unixtime。以下是建議的功能失敗: SELECT UNIX_TIMESTAMP(CAST(dateid AS DATE)) AS unixtime
我想將YYYY-MM-DD列轉換爲unix時間戳。與此問題類似:MySQL - Convert MM/DD/YY to Unix timestampMySQL將YYYY-MM-DD轉換爲unix時間戳
MySQL似乎並未將「2012-05-10」的值轉換爲正確的unixtime。以下是建議的功能失敗: SELECT UNIX_TIMESTAMP(CAST(dateid AS DATE)) AS unixtime
您正在使用什麼版本的MySQL
?作爲SQLFiddle這兩個查詢測試由MySQL 5.5.27工作
SELECT UNIX_TIMESTAMP(CAST('2012-05-10 00:00:00' AS DATETIME)) As UnixTime;
SELECT UNIX_TIMESTAMP(CAST('2012-05-10' AS DATE)) As UnixTime;
我不知道您有什麼問題的,可是以下工作正常:
CREATE TABLE ex (dt VARCHAR(20));
INSERT INTO ex SET dt = '2012-05-10';
SELECT
UNIX_TIMESTAMP('2012-05-10') ex1,
UNIX_TIMESTAMP(dt) ex2,
UNIX_TIMESTAMP(CAST('2012-05-10' AS DATE)) ex3,
UNIX_TIMESTAMP(CAST(dt AS DATE)) ex4
FROM ex;
回報:
+------------+------------+------------+------------+
| ex1 | ex2 | ex3 | ex4 |
+------------+------------+------------+------------+
| 1336633200 | 1336633200 | 1336633200 | 1336633200 |
+------------+------------+------------+------------+
正如你所看到的,沒有必要CAST()
如果字符串的格式爲YYYY-MM-DD
或YYYY-MM-DD HH:MM:SS
,則MySQL會將此格式的字符串隱式轉換爲DATE
s。
預期結果是什麼?你有什麼? –