我有字符串,这些字符串存储为varchar(50)但我想将它们作为日期时间存储在不同的表/列中。有人知道如何轻松转换它们吗?
2015-05-31 19:01:00-06:00
2015-05-31 19:02:00-06:00
2015-05-31 19:03:00-06:00
2015-05-31 19:04:00-06:00
2015-05-31 19:05:00-06:00
2015-05-31 19:06:00-06:00
2015-05-31 19:07:00-06:00
2015-05-31 19:08:00-06:00
2015-05-31 19:09:00-06:00
2015-05-31 19:10:00-06:00
我尝试了以下内容.... timeStr是一个varchar(50),date_time是一个日期时间。这是在MSSql
中插入temp(timeStr,date_time) 价值观('2015-05-31 19:01:00-06:00','2015-05-31 19:01:00-06:00');
插入temp(timeStr,date_time) 值('2015-05-31 19:01:00-06:00',convert(datetime,'2015-05-31 19:01:00- 06:00'));
插入temp(timeStr,date_time) 值('2015-05-31 19:01:00-06:00',演员('2015-05-31 19:01:00-06:00'作为日期时间));
答案 0 :(得分:0)
这是有详细记录的,请参见此处:CAST and CONVERT
答案 1 :(得分:0)
我最终使用PHP将字符串解析为纪元时间并将其存储为int。
答案 2 :(得分:0)
在 MySQL 中有一个使用STR_TO_DATE函数的简单解决方案,该函数将参数传递为格式化字符串和带有format的字符串。对于您的示例,为了摆脱日期之后的尾随字符,我也使用了LEFT函数。
假设您的表名是 foo ,varchar(50)字段的名称是 CH , DT 名称日期时间(我今天对于名字缺乏幻想......),查询是:
{{1}}