求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?相关的知识,希望对你有一定的参考价值。
数据表包含“县域名称”和“地址”两个字段,当“地址”字段包含“南山区”时,将“县域名称”字段替换为“南山区”或“南海市南山区幸福路|"等数据,如下表:
参考技术A 数据量少时可以分多个语句实现:update 表名 set 县域名称='南山区' where 县域名 ='南山市' and 地址 like '%南山区%'
update 表名 set 县域名称='北江区' where 县域名 ='北海市' and 地址 like '%北江区%'
数据量大时,则用模糊匹配
update 表名 set 县域名称=地址 where 县域名 like '%市'本回答被提问者采纳
sql 查询出一列内容,如何让它成一行显示。
如图,查询出了一列内容的日期,但是我想让它成一行显示。要求是每一列显示一个日期。这个要怎么写?求大神指导。
进行行转列下面是相关语法等PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:
table_source
PIVOT(
聚合函数(value_column)
FOR pivot_column
IN(<column_list>)
)
View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现
完整语法:
table_source
UNPIVOT(
value_column
FOR pivot_column
IN(<column_list>)
) 参考技术A --参考
SELECT STUFF((SELECT ','+ 字段名称 FROM 表名称 for xml path('')),1,1,''); 参考技术B --case when 可以进行横列转换
以上是关于求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?的主要内容,如果未能解决你的问题,请参考以下文章
我想更新sql 表1中的某一列数值,这个数值是从另外一个表中取出来的。语句怎么写