2015-08-03 90 views
-1

给我正确的投查询到这一点:如何将时间戳更改为mysql 5.5中的日期?

SELECT 
id, 
device_id, 
outlet_id, 
duration, 
current, 
voltage, 
kw_used, 
outlet_total_kwh, 
outlet_kwh_demand_15, 
outlet_kw_demand_peak, 
submeter_real_kw, 
submeter_total_kwh, 
submeter_kwh_demand_15, 
submeter_kw_demand_peak, 
peak_voltage, 
peak_current, 
demand, 
inst_demand, 
hist_peek_demand, 
power_factor, 
crest_factor, 
frequency, 
app_power, 
tot_app_energy, 
tot_har_dist_vol, 
tot_har_dist_curr, 
har_x_dist_v, 
har_y_dist_v, 
har_z_dist_v, 
har_x_dist_c, 
har_y_dist_c, 
har_z_dist_c, 
INTERVAL, 
CAST (duration AS DATE) 
FROM 
    epowerg1.dru; 

ERROR 1064(42000):你在你的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的“从epowerg1.dru CAST(持续时间DATE)”在1号线

回答

1

cast(

CAST(duration as DATE) 
    ^---------------------------here 
之间删除空格正确的语法手册
+0

啊,刚刚意识到[我的编辑](http://stackoverflow.com/revisions/31784508/2)解决了这个问题。如果需要,您可以恢复我的编辑。 –

+1

编辑非常有帮助,只需重新编辑错误:) – trex005

+0

假设CAST和左括号之间存在空格。这是它显示的错误信息。 =>“调用存储函数'CAST'中的参数不正确” –

0

您可以将字符串转换为日期。通过使用下面的SQL。

SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y'); 

我不知道持续时间栏的格式是什么。

谢谢。

+0

持续时间(时间戳) – Prabakaran

0

create table x (studentname varchar(50), dt timestamp);

您可以使用“cast”运算符将任何数据类型转换为另一种数据类型。 答案如下: 从x选择studentname,dt,cast(dt as date);

相关问题