我有一个排,看起来像这样的表:更新多行与另一列计算出的值
( 48498429,“...‘’...”)
第一部分id是一个时间戳,随后是一个随机数。 (需要与系统中的其他部分一起工作)表中的数据已经存在。
我想创建一个列,时间戳,并只提取日期(20091231)并用时间戳更新所有行。
- 如何为SQL中的所有行执行此操作? (即使用某种功能更新它们)
- 应该为列指定什么样的默认值以确保将来的插入操作能够正确提取日期?
UPDATE - 请阅读bobince在第一个回答问题上我们是如何走到答案的评论乔纳森·桑普森。这是工作的最终查询:
UPDATE table SET rdate=substring(convert(rid,char(20)),1,8);
的问题是,我用substring
为substring(str, 0, 8)
,而应该是substring(str, 1, 8)
。我想我们都习惯了0作为开始位置!这里更多信息关于substring
...我也希望能够将它插回到表格中。在所有的行中。 – Swati 2009-02-12 03:54:44
我添加的UPDATE选项可能对此有所帮助。 – Sampson 2009-02-12 03:55:07