MySql行转列 以id分组,把name字段的值打印在一行,逗号分隔(默认) select CustomerDrugCode,group_concat(AuditItemName) from noaudit_drug group by CustomerDrugCode; 以id分组,把name字段的值打印在一行,分号分隔 select CustomerDrugCode,group_concat(AuditItemName separator ';') from noaudit_drug grou
drop table #testcreate table #test( id int identity(1,1) primary key, bizDate varchar(50), type varchar(50), qty float) insert into #testselect '20110501','A',20.5 union allselect '20110501','B',98 union allselect '20110501','C',100.5 uni
摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: )) go insert into test(info)values('a'),('b'),(null),('d') go ---方法1:使用isnull替换 select keyId,isnull(info,'替换null值') as info from test go ---方法2:使用case when 替换 select keyId,case when info
不同数据库限制返回的行数的关键字如下: ①db2 select * from table fetch first 10 rows only; ②oracle select * from table where rownum<=10; ③mysql select * from table limit 10; ④sqlServer select top 10 * from table;
select * from errorinfo ) from errorinfo select distinct info from errorinfo select count(distinct info) from errorinfo distinct 会将所有NULL合并为一项 count(distinct)会将NULL除去. select count(distinct info), info from errorinfo group by info null不参与count运算,同样适用
UPDATE t_users SET t_users.id=u.num1 FROM t_users INNER JOIN (SELECT row_number() over(order by id) AS num1,UserName FROM t_users) u ON u.UserName=t_users.UserName
当使用:SELECT ','+Id FROM dbo.Test FOR XML PATH('')); //这样读取的数据虽然是1,2,3,4,但是仍然是xml格式,所以当数据超过2033时候,用sqldatereader或者sqldateadapter读取数据会截断xml文件. 此时要:SELECT STUFF((SELECT ','+Id FROM dbo.Test FOR XML PATH('')),1,1,'');//利用stuff函数将xml文件转换为一个字符串字段.就不会截断.