在数据库操作中,经常有一些这样的操作:插入诺干条测试数据.查询这个月的登录情况(没有登录的日期不能不存在,要显示数量为0),获取诺干条guid. 这些的基础都是怎么生成连续的一串数字 1 2 3 4 ……………… 100000. 在oracle中,我们使用start with connect by connect by rownum <= 在sqlserver中,由于没有现成的语法,我们可以采用cte with test as ( rn union all rn )select rn
--创建存储过程 IF EXISTS (SELECT * FROM sysobjects WHERE name='GetSplitString' AND xtype='p') DROP PROCEDURE dbo.GetSplitString GO CREATE PROCEDURE dbo.GetSplitString @strID nvarchar(max) --以逗号隔开的字符串 ,) output --临时表 AS BEGIN declare @totalLength int declar
例如:有表MO_Cook,字段:FoodRoom,name 有如下数据: 要求:将FoodRoom中值相同的字段合并成一行,并将name的值用逗号隔开. 需要用到:STUFF函数. 查询语句如下: select FoodRoom, stuff((select ','+name from MO_Cook where c.FoodRoom=FoodRoom ,,'') as CookNames from MO_Cook c group by c.FoodRoom 查询结果如下: STUFF (