同一表中的两列能否用同一句SQL交换位置呢?

gyasy 2004-11-24 10:22:19
难道只能先取出两列的值后再用更新语句吗?
...全文
174 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
是是非非 2004-11-24
  • 打赏
  • 举报
回复
在ASP里面这么执行:
conn.execute "DECLARE @tmp VARCHAR (50)" & vbCrLf & _
"update tbTest set @tmp=val2,val2=val1,val1=@tmp"
gyasy 2004-11-24
  • 打赏
  • 举报
回复
在ASP中这句怎么用?
DECLARE @tmp VARCHAR (50)
是是非非 2004-11-24
  • 打赏
  • 举报
回复
在查询分析器里面执行这段代码

注意,交换的两列必须类型一样
deerchao 2004-11-24
  • 打赏
  • 举报
回复
全换吗?
改名不就行了?
gyasy 2004-11-24
  • 打赏
  • 举报
回复
尽量不想动数据库,看来是没好办法了,只能多次查询了。
是是非非 2004-11-24
  • 打赏
  • 举报
回复
--创建测试表
create table tbTest(
val1 varchar (50),
val2 varchar (50)
)
--插入测试数据
insert into tbTest values('1','a')
insert into tbTest values('2','b')
insert into tbTest values('3','c')
insert into tbTest values('4','d')
insert into tbTest values('5','e')
--输出原来的数据
select * from tbTest
--交换两列的值
DECLARE @tmp VARCHAR (50)
update tbTest set @tmp=val2,val2=val1,val1=@tmp
--输出交换以后的值
select * from tbTest
--删除测试表
drop table tbTest
chenxuchen 2004-11-24
  • 打赏
  • 举报
回复
你可以在表中增加一个字段用来作为交换的字段

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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