SQL练习之两个列值的交换

SELECT *
FROM dbo.test2

现在我们将Province列值和Company列值互换,代码如下:

UPDATE test2
SET Company=Province,
Province=Company

这是第一种列值互换方式!

下面是第二种在部分数据库中有效的互换方式:

UPDATE test2
SET Company=Company+Province,
Province=Company-Province,
Company=Company-Province;

这里的加减号可能有些数据库不支持,根据不同的DBMS做相应的替换。

时间: 2024-10-02 05:47:02

SQL练习之两个列值的交换的相关文章

C语言中有关两个数,值的交换

一.开讲感言 最近在系统的学习C语言,虽说以前在大学里学习过,但是人嘛,时间一久就会忘了.由于行业的原因,我学习了iOS,但是想学习iOS,C就是万万不能忘的.于是经过几天的时间,我终于有了一点小成就,就是有关在C里面的两个值的交换,这里或许只是一部分,希望还有知道方法的同事,不吝赐教.下面就不多说了,我们一起来看,怎么交换两个数的值,我这里面提供了三种方法. 第一种:第三方变量交换法 我们在C++编译器中设三个变量,并且给其中两个变量赋值,第三方变量初始化为0,下面我们来看看具体的代码情况.由

ORACLE列值合併

合併列值最通用的方法就是寫一個自定義函數去實現,這裏介紹的是其他方法. 在SQL Server中合併列值可以使用For Xml Path,在Oracle中則可以使用wm_concat 或 ListAgg. 準備數據: CREATE TABLE MyTest(xType NUMBER,City nvarchar2(200)); / INSERT INTO MyTest(xType,City) SELECT 1,N'北京' FROM dual UNION ALL SELECT 1,N'上海' FRO

NULL值比较,两个列的合并,列值按条件替换。

show create table 表名 -- 显示创建表的sql语句. 为已有的表增加新列.alter table 表名 add 列名 int NULL -- 此行加了一个int 类型 默认可以null的列. NULL表示:一个未定义的值.如何将列的值与NULL比较?可以用IS NULL,IS NOT NULL 或<=> 可以用<=>比较两个NULL值 ,NULL<=>NULL结果为true而不是未定义. CREATE TABLE `t1` ( `col1` char

veridata实验举例(5)修改主键上的列值,update操作会被拆分成两条语句

veridata实验举例(5)修改主键上的列值,update操作会被拆分成两条语句 续接"veridata实验举例(4)验证veridata查找出updata.delete操作导致的不同步现象",地址:点击打开链接 环境: Item Source System Target System Platform Red Hat Enterprise Linux Server release 5.4 Red Hat Enterprise Linux Server release 5.4 Hos

SQL Server 强行Insert包含自增列值的记录

SET IDENTITY_INSERT 表 ON INSERT INTO 表 ([ID] ,[SequenceNumber] ,[EnumCode] ,[Description]) VALUES (6 ,1 ,'Empty' ,'Empty') SET IDENTITY_INSERT 表 OFF 此处ID为自增列 SQL Server 强行Insert包含自增列值的记录,布布扣,bubuko.com

SQL将一个表中的某一列值全部插入到另一个表中

1.  SQL将一个表中的某一列值全部插入到另一个表中 插入的话: insert into a(col) select col from b; 更新的话: update a set col=select col from b where a.id=b.id; 判断表是否存在数据库中,存在就删除 if exists (select * from Sysobjects where name='temp') begin drop table temp end

sql 表中列值转成字符串

DECLARE @STR VARCHAR(8000)SELECT @STR=ISNULL(@STR+',','')+weixinuser FROM (SELECT DISTINCT weixinuser FROM v_sysbinduser)AS TSELECT @STR declare @output varchar(8000)select @output = coalesce(@output + ',' , '') + weixinuser from v_sysbinduserprint @

Sql Server中的标识列(自增长字段)

一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列.该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型2.在进行插入(Insert)操作时,该列的值是由系统按一定规律生成,不允许空值3.列值不重复,具有标识表中每一行的作用,每个表只能有一个标识列. 由于以上特点,使得标识列在数据库的设计中得到广泛的使用. 二.标识列的组成创建一个标识列,通常要指定三个内容:1.类型(type)在SQL Server 2000中,标识列类型必须是数值类型,如下:de

解读SQL Server 2014可更新列存储索引——存储机制

概述 SQL Server 2014被号称是微软数据库的一个革命性版本,其性能的提升的幅度是有史以来之最. 可更新的列存储索引作为SQL Server 2014的一个关键功能之一,在提升数据库的查询性能方面贡献非常突出.据微软统计,在面向OLAP查询统计类系统中,相比其他SQL传统版本的数据库,报表查询的性能最大可提升上十倍. 下面我们从存储的角度来了解下SQL Server 2014的可更新列存储索引. 什么是列存储 微软为了提升SQL Server的查询性能,更好的支持大数据分析,早在SQL