我有一个表,其中的行看起来像这样:
(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
最佳答案
SELECT SUBSTRING(colDate,8) as 'date'
FROM someTable
还是我弄错了?
UPDATE someTable
SET newDateField = SUBSTRING(colDate,8)
也可能会工作.未经测试.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。