批量转换unix时间?

aabbabababaa 2017-02-13 10:40:09
INSERT INTO `sdb_orders` VALUES (20150819052127, 21613, 'N', 'active', '0', '0', 'null', 'Y', 11, '韵达', NULL, 30, 500.000, '纹瓜', 1, unix_timestamp(left(order_id, 10)),unix_timestamp(left(order_id, 10)), NULL, NULL, NULL, NULL, NULL, NULL, '115.235.245.21', '帅', '', '杨', '350011', '', NULL, '任意日期 任意时间段', '0', 1143.000, 'true', 'true', 0.000, '', 6.000, 'false', 0.000, 0.000, 'CNY', 1.0000, 0.000, 80.000, 1143.000, 0.000, 0.000, NULL, 1143.000, 1143.000, 0.000, 0.000, 0, 0.000, 'N', '', 0, NULL, 'false', unix_timestamp(left(order_id, 10)), 'false', 'b1', 'N;', 'false', 'local', NULL);





要批量插入数值,取第一个值的ID,转换成unix时间,用unix_timestamp(left(order_id, 10))这函数不起做用么?
...全文
113 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
aabbabababaa 2017-02-14
  • 打赏
  • 举报
回复
引用 8 楼 zjcxc 的回复:
多行应该是直接用在字段上,不是子查询 SELECT unix_timestamp(str_to_date(`order_id` ,'%Y%m%d%H%i%s')) FROM `sdb_orders`
UPDATE `sdb_orders` SET `acttime`=
(unix_timestamp(str_to_date(`order_id` ,'%Y%m%d%H%i%s'))) ;
可以了,又犯了同样低级错误,谢谢兄弟了。。。
aabbabababaa 2017-02-14
  • 打赏
  • 举报
回复
引用 8 楼 zjcxc 的回复:
多行应该是直接用在字段上,不是子查询 SELECT unix_timestamp(str_to_date(`order_id` ,'%Y%m%d%H%i%s')) FROM `sdb_orders`
UPDATE `sdb_orders` SET `acttime`=
(SELECT unix_timestamp(str_to_date(`order_id` ,'%Y%m%d%H%i%s')) FROM `sdb_orders`) ;
#1093 - You can't specify target table 'sdb_orders' for update in FROM clause 这是要另外建一个表,才能更新操作么?
zjcxc 2017-02-14
  • 打赏
  • 举报
回复
多行应该是直接用在字段上,不是子查询 SELECT unix_timestamp(str_to_date(`order_id` ,'%Y%m%d%H%i%s')) FROM `sdb_orders`
aabbabababaa 2017-02-13
  • 打赏
  • 举报
回复
引用 5 楼 zjcxc 的回复:
转化成日期之后,你再用 unix_timestamp 就没问题了
SELECT unix_timestamp((select str_to_date((SELECT `order_id` FROM `sdb_orders`),'%Y%m%d%H%i%s')));
1242 - Subquery returns more than 1 row 多行不能这样引用?
文修 2017-02-13
  • 打赏
  • 举报
回复
mysql 时间和日期戳的转换,建议楼主看看下面的文章 http://www.chinaz.com/program/2010/0324/109637.shtml
zjcxc 2017-02-13
  • 打赏
  • 举报
回复
转化成日期之后,你再用 unix_timestamp 就没问题了
zjcxc 2017-02-13
  • 打赏
  • 举报
回复
只要日期部分则: str_to_date(20150819052127,'%Y%m%d') 具体参考 mysql 官方文档: https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_current-date
zjcxc 2017-02-13
  • 打赏
  • 举报
回复
格式化的日期用: select str_to_date(20150819052127,'%Y%m%d%H%i%s');
aabbabababaa 2017-02-13
  • 打赏
  • 举报
回复
引用 1 楼 zjcxc 的回复:
timestamp 是秒数,你那个第1列值不是秒数表示的数据,当然就不行了
unix_timestamp不是date转成秒数么? left(order_id, 10),取前面的10位数成date...
zjcxc 2017-02-13
  • 打赏
  • 举报
回复
timestamp 是秒数,你那个第1列值不是秒数表示的数据,当然就不行了

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧