sql - 在不使用第三个变量或表的情况下交换表中两列的值
问题描述
在不使用第三个变量或表的情况下交换表中两列的值
id name lastname
1 ab cd
2 df cx
3 sd gh
我想交换两列
id name lastname
1 cd ab
2 cx df
3 gh sd
解决方案
在几乎任何数据库中,您都可以执行以下操作:
update t
set name = lastname,
lastname = name;
第一个分配不影响第二个分配是标准行为。唯一不起作用的数据库——据我所知——是 MySQL。
推荐阅读
- javascript - 无法加载 Flickr 公共 API
- python - 在 python 中,确定显示是否仅支持文本或图形是否可用
- python - 将十进制数转换为二进制数并更改一个索引
- angular - 带有过滤器的垫表列排序箭头不可见
- python - 导入错误:未找到模块对象检测
- delphi - firemonkey 将 mp3 流转换为十六进制和反向
- python - 为什么 Tensorflow 在重新训练过程中向我发送此错误“无法打开文件 'tensorflow/examples/image_retraining/retrain.py':”
- ios - 以编程方式创建的 UIView 的框架为 0
- git - 是否有可能“忘记”某个主提交的所有过去并假设当前的提交是初始的?
- powershell - 始终从任务计划程序运行 Windows Powershell 脚本