2014-09-29 64 views
0

我有一个日期存储为VARCHAR(10)。我想选择一个时间戳铸造日期存储为varchar作为时间戳错误

SELECT  CAST (date AS TIMESTAMP)  AS created_timestamp 
FROM  dates; 

我得到:

Incorrect parameters in the call to stored function 'CAST': SELECT CAST (date AS TIMESTAMP) AS created_timestamp FROM dates 

我做了什么错?

+0

(1)您使用了哪个数据库? (2)数据是什么样的? (3)你可以设置一个SQL小提琴吗? – 2014-09-29 11:35:45

回答

0

你不能在MySQL中强制转换为时间戳。有一个叫做TIMESTAMP的函数可以帮你做。

SELECT TIMESTAMP(date) AS created_timestamp FROM dates; 
+0

如果OP使用MySQL/Oracle,那么你的答案是非常错误的。 'TIMESTAMP'是MySQL和Oracle中的一种数据类型。 [请参阅MySQL。](http://dev.mysql.com/doc/refman/5.6/en/datetime.html)[这适用于Oracle](http://docs.oracle.com/cd/B19306_01 /server.102/b14200/sql_elements001.htm#i54330) – CodeNewbie 2014-09-29 11:46:40

+0

对不起。我假设MySQL,你说得对,'TIMESTAMP'是一种类型。我会编辑说它不能被'CAST'使用。 – gandaliter 2014-09-29 11:52:14

+0

我现在收到此消息:无法将列1中的值'0000-00-00 00:00:00'转换为TIMESTAMP:SELECT TIMESTAMP(日期)AS created_timestamp FROM日期 – user2964644 2014-09-29 13:44:27