SQL语句修改数据库中某列的值 表名A 列名B 列值有 1、2、3、4、5。。。 批量修改列值等于5的倍数的语句

SQL语句修改数据库中某列的值 表名A 列名B 列值有 1、2、3、4、5。。。 批量修改列值等于5的倍数的语句,第1张

你的意思死要将B值为5的倍数的记录值修改吗?

用求余数的方式来判断是不是能被5整数,余数大于0说明不是5的倍数,余数为0说明是5的倍数

select from A where B%5=0 --查找出所有B列值是5的倍数的记录

更新的话,改改就可以了

update A set B=0 where B%5=0 --假如把B值为5的倍数的记录B列值修改为0

希望能帮到你……

只能用楼上的 那种方法

最多也就是动态处理一下

declare @Sql varchar(8000)

declare @i int

declare @ColName varchar(255)

set @i = 1

set @Sql = ''

while Exists(select from syscolumns where id = object_id('TEST') and colorder = @i)

begin

select @ColName = name from syscolumns where id = object_id('TEST') and colorder = @i

set @Sql = @Sql + 'union all select '''+@ColName+''' as 名称,cast('+@ColName+' as varchar(100)) as 值 from TEST '

set @i = @i + 1

end

--set @Sql = right(@sql,len(@sql)-9)

set @Sql = stuff(@Sql,1,10,'')

--print @Sql

exec(@sql)

--------------------------------------------------------------------------------------

sqlserver2005里 还有一个 *** 作是

unpiot,你可以查查帮助

不过实现起来也得这么做

--------------------------------

假设 表A内容

ID 数值

1 11

2 12

3 13

--------------------------------

假设 表B内容

ID 列1 列2 列3

1 11 111 1111

2 22 222 2222

3 33 333 3333

------------------------------

SELECT B列1,B,列2,B列3 FROM A,

B WHERE B列2=A数值

得到结果应该是:

----------------------------

ID 列1 列2 列3

1 11 111 1111

2 22 222 2222

3 33 333 3333

-------------------------------

以上是 查出的是 符合B表中的列2 等于 A表 的数值 结果

如果你A表中的值确定了,首先查询A表,先得到条件(查询出的数值作为查询表B的条件)

例如select 数值 from A where ID=1 得到查询条件

那么根据表A的结果 查询表B的语句 就是 Select from B where B列2=(select A数值 from A where AID=1)

得到结果为空,因为B表中列2没有含有11的行

如果把B列2改为B列1,结果会是

---------------------------

ID 列1 列2 列3

1 11 111 1111

------------------------------

你自己试试就知道了

1、创建测试表,create table test_student(stu_id number, class_id number);

2、插入测试数据,

insert into test_student values(1,1001);

insert into test_student values(2,1001);

insert into test_student values(3,1002);

insert into test_student values(4,1003);

insert into test_student values(5,1003);

insert into test_student values(6,1003);

commit;

3、查询数据表中内容,select from test_student ;

4、将列名翻译为中文名进行展示,select stu_id as "学生编码", class_id as "课程编码" from test_student t;

1、在oracle数据库中: ALTER TABLE 表名 RENAME COLUMN 列名 TO 新列名。

2、在sqlserver数据库中:exec sp_rename '[表名][列名]‘,’[表名][新列名]'。

3、在mysql数据库中:ALTER TABLE 表名 CHANGE 列名 新列名 列类型。

扩展资料

SQL中对表的其它 *** 作:

1、插入列:

ALTER TABLE [表名]TABLE_NAME ADD COLUMN_NAME DATATYPE。

2、为表中某列添加约束:大于等于100

alter table 表名 add check(列名>=100)。

3、更改表某列的数据类型为nchar(30):

alter table 表名 alter column 列名 nchar(30)。

4、删除表中某列的相关约束:

alter table 表名 drop constraint 约束名。

5、删除表中的某列:

alter table 表名 drop column 列名。

参考资料:百度百科-SQL语句大全

以上就是关于SQL语句修改数据库中某列的值 表名A 列名B 列值有 1、2、3、4、5。。。 批量修改列值等于5的倍数的语句全部的内容,包括:SQL语句修改数据库中某列的值 表名A 列名B 列值有 1、2、3、4、5。。。 批量修改列值等于5的倍数的语句、求sql2000 语句将列名为值。、sql 列名 拼接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9507873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存