
正文
sqlserver字符串分组拼接 sqlserver如何拼接字符串
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
sqlserver 分组 拼接其他字段
SQL2005或以上才可以:
Declare
@t
Table
(
ID
int,
FName
varchar(20),
CName
varchar(20),
CAge
varchar(20)
)
Insert
Into
@t
select
1,'吴亮','吴1','3岁'
Union
select
1,'吴亮','吴2','5岁'
Union
select
1,'吴亮','吴3','9岁'
Union
select
4,'麦大伟','麦1','3岁'
Union
select
4,'麦大伟','麦2','5岁'
Union
select
6,'张思','张1','3岁'
下面是合并:
Select
ID,FName,CName=Stuff((Select
','+CName
From
@t
Where
ID=T.ID
For
xml
path('')),1,1,''),
CAge=Stuff((Select
','+CAge
From
@t
Where
ID=T.ID
For
xml
path('')),1,1,'')
From
@t
T
Group
by
id,FName
相关问答
Q1: sqlserver 怎么拼接
以sqlserver,oracle,mysql三种数据库为例,因为这三种数据库具有代表性。
sqlserver:
select '123'+'456';
oracle:
select '123'||'456' from dual;
或
select concat('123','456') from dual;
mysql:
select concat('123','456');
注意:oracle和mysql中虽然都有concat,但是oracle中只能拼接2个字符串,所以建议用||的方式;mysql中的concat则可以拼接多个字符串。
Q2: sqlserver中怎么将一列数据拼接成一个字符串?
1、自定义函数
2、使用connect by子语句的SQL,用sys_connect_by_path函数连接
3、自定义聚合函数
SQL SERVER日志清除的使用方法
1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server--SQL Server组--双击打开你的服务器--双击打开数据库目录--选择你的数据库名称(如论坛数据库Forum)--然后点击右键选择属性--选择选项--在故障还原的模式中选择“简单”,然后按确定保存。
2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定。
3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作方法同第一点,因为日志在一些异常情况下往往是恢复数据库的重要依据。
Q3: sqlserver 分组之后 拼接新字段 如下:
Select B.人员ID,B.人员名称,Left(TempInfo,LEN(TempInfo) - 1) AS 新字段 From
(Select 人员ID,人员名称,(Select 人员的儿女 + '-' + 儿女岁数 +',' From 人员 Where 人员ID = A.人员ID For XML Path('')) AS TempInfo
From 人员 A
Group By 人员ID,人员名称) B
这个就是你要的。
Q4: Sqlserver的int和varchar类型拼接的问题
1、首先在数据表Table_1中有两列类型为数值的列num1和num2,类型分别为int和float。数据如图所示。
2、采用convert或cast函数进行数据类型转换,然后再使用“+”进行字符拼接。转换之后的类型可以是:char、nchar、varchar、nvarchar等。
3、convert函数的格式为:convert(varchar(20),num1)其中varchar为可变长度的字符串,20为字符串的最大长度,使用varchar的好处是可以避免结果中出现空格。如果需要空格,则可以考虑使用char。下图为以下查询结果。
4、cast函数的格式为:cast(num1 as varchar(20))关于数据格式参见上一步的说明。下图为以下查询结果。
5、1和2的结果完全相同。这里说明由于对varchar和int使用“+”运算符时,会自动转换varchar为int,因此一定要对两组数值都进行转换,就可以了。
Q5: SQLSERVER 字符串拼接问题
字符串要打引号的,数值型才不用打,最直接的方法是把你这些字符串换成具体的内容自己拼接一下检查,向你上面的string strsql="select * from jpsx_ddl where class= 城市"; 而城市是个字符串,所以要加单引号string strsql="select * from jpsx_ddl where class=' " + cls + " ' ";
以上回答你满意么?
关于sqlserver字符串分组拼接和sqlserver如何拼接字符串的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






