设为首页 - 加入收藏 云计算网_泰州站长网 (http://www.0523zz.com)- 中小站长必上的网站 - 聚焦泰州站长前沿资讯!
热搜: 2008 徐屾屾 P Html
当前位置: 主页 > 站长学院 > MySql教程 > 正文

sql-使用从另一列计算出的值更新多行

发布时间:2021-01-21 20:45 所属栏目:[MySql教程] 来源:网络整理
导读:我有一个表,其中的行看起来像这样: (2009123148498429,,) 第一部分id是时间戳,后跟一个随机数. (需要与系统中的其他部分一起使用)表中已经存在数据. 我想创建一个列,时间戳,并仅提取日期(20091231),并使用时间戳更新所有行. 如何使用SQL对所有行执行此操

我有一个表,其中的行看起来像这样:

(2009123148498429,’…’,’…’)

第一部分id是时间戳,后跟一个随机数. (需要与系统中的其他部分一起使用)表中已经存在数据.

我想创建一个列,时间戳,并仅提取日期(20091231),并使用时间戳更新所有行.

>如何使用SQL对所有行执行此操作? (即使用某种功能更新它们吗?)
>我应该为该列分配哪种默认值,以确保将来的插入正确提取日期?

更新-请阅读bobince在乔纳森·桑普森(Jonathan Sampson)第一个回答的问题中关于我们如何得到答案的评论.这是有效的最终查询:

UPDATE table SET rdate=substring(convert(rid,char(20)),1,8);

问题是我正在使用substring作为substring(str,8),而它应该是substring(str,8).我想我们都习惯于0作为开始位置!有关更多信息,请参见substring

相关:multiple updates in mysql 最佳答案

SELECT SUBSTRING(colDate,8) as 'date' 
FROM someTable

还是我弄错了?

UPDATE someTable
SET newDateField = SUBSTRING(colDate,8)

也可能会工作.未经测试.

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章