删除字段中公式后保留数据问题

gcchen 2012-09-24 09:58:17
现在数据库中有一个字段是公式计算字段,公式为:(round(([L9] + [L10]),2))
如果现在像把公式删除,但里面的数据想保留,不知道有什么好的方法呢。
...全文
131 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2012-09-24
  • 打赏
  • 举报
回复
方法2,

create table gs(a int,b int,c as a+b)

insert into gs(a,b)
select 1,2 union all
select 3,5

select * from gs

/*
a b c
----------- ----------- -----------
1 2 3
3 5 8

(2 row(s) affected)
*/


alter table gs add c2 int

update gs set c2=c

alter table gs drop column c

sp_rename 'gs.c2','c','column'

--结果
select * from gs

/*
a b c
----------- ----------- -----------
1 2 3
3 5 8

(2 row(s) affected)
*/
唐诗三百首 2012-09-24
  • 打赏
  • 举报
回复
an example,

create table gs(a int,b int,c as a+b)

insert into gs(a,b)
select 1,2 union all
select 3,5

select * from gs

/*
a b c
----------- ----------- -----------
1 2 3
3 5 8

(2 row(s) affected)
*/

--备份数据
select * into #gs from gs

--删除公式
drop table gs
create table gs(a int,b int,c int)

--导入数据
insert into gs(a,b,c)
select * from #gs

--结果
select * from gs

/*
a b c
----------- ----------- -----------
1 2 3
3 5 8

(2 row(s) affected)
*/
gcchen 2012-09-24
  • 打赏
  • 举报
回复
使用楼上的方法应该没问题。有没有更好的方法呢。呵呵。
Felixzhaowenzhong 2012-09-24
  • 打赏
  • 举报
回复
把 这个 公式定义到列上(即 计算列),那么这列的值 就自动根据你的公式计算出了值。
Mr_Nice 2012-09-24
  • 打赏
  • 举报
回复
另加一个字段,将计算结果update 进去。然后删除这个原来的公式字段即可。
ttpsan550 2012-09-24
  • 打赏
  • 举报
回复
删除公司 ,然后 直接 update更新上去不就可以了么。
--小F-- 2012-09-24
  • 打赏
  • 举报
回复
什么意思?那你可以把字段名称修改为空值吧

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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