12
SqlServer查询固定开始和结束时间段内所有日期new
数据库技术

需求如下:给出2个固定时间,求此时间段内每日的业务数量,但是业务表中存储的日期是不全的, 某一天如果没有业务,就没有那天的数据,比如这样:8月1号 10个,8月3号 30个,8月5号 50个。<br>想法如下:先查询出此时间内所有按天日期数据,然后关联业务表查询出业务数据,没有的0代替。<br>利用日期的相加方法dateadd相加连续的数字得到每日日期数据。<br>如果日期段相差小于2048天,可以利用系统库master中的spt_values表,此表中存储着0到2047的连续数据。如果相差大于2048天就要自己造数据了,先说小于2048的:declare @date1 DATETIME = 2020-0...

sql常用语句 数据库 sqlserver 5590 人围观,发现 553 个赞
SqlServer生成0到100的数字的表new
数据库技术

1.可以利用系统表master.dbo.spt_valuesnumber列即是从0依次排列的数字,可以用来查询,但是number列最大到2047 ,即type =P只有2048条数据。如果需要在大的数据则可以自己造。如下:--数字可以自行修改<br>DECLARE @init INT<br>SET @init=0<br>DECLARE @allDay INTCREATE TABLE #N(<br>ID INT<br>)<br>DECLARE cur CURSOR FOR<br>SELECT 10<br>OPEN cur <br>FETCH NEXT FROM cur INTO @allDay<br>WHILE @init<=@allDay<br>BEGIN<br>PRINT @init<br>INSERT INTO #N (ID) VALUES ( @init )<br>SET @init = @init+1<br>FETCH NEXT FROM cur INTO @allDay<br>END<br>CLOSE cur<br>DEA...

sql常用语句 数据库 sqlserver 5505 人围观,发现 544 个赞
SQL Server 查询各张表记录数、所占用的空间大小等信息new
数据库技术

语句如下:SELECT t.NAME AS TableName,s.Name AS SchemaName,p.rows AS RowCounts,SUM(a.total_pages) * 8 AS TotalSpaceKB, CAST(ROUND(((SUM(a.total_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS TotalSpaceMB,SUM(a.used_pages) * 8 AS UsedSpaceKB, CAST(ROUND(((SUM(a.used_pages) * 8) / 1024.00), 2) AS NUMERIC(36, 2)) AS UsedSpaceMB, (SUM(a.total_pages) - SUM(a.used_pages)) * 8 AS UnusedSpaceKB,CAST(ROUND(((SUM(a.total_pages) - SUM(a.used_pages)) * 8) / 1024.00, 2) AS NUMERIC(36, 2)) AS UnusedSpaceMB<br>FRO...

windows服务器 sql常用语句 数据库 sqlserver 1102 人围观,发现 98 个赞
sqlserver数据收缩日志语句new
数据库技术

ALTER DATABASE test SET RECOVERY SIMPLE --将&amp;ldquo;恢复模式&amp;rdquo;设置为&amp;ldquo;简单&amp;rdquo;<br>GO<br>USE test<br>GO<br>DBCC SHRINKFILE (Ntest_log , 1, TRUNCATEONLY)--收缩日志文件大小到1M<br>GO<br>USE test<br>GO<br>ALTER DATABASE test SET RECOVERY FULL WITH NO_WAIT ----将&amp;ldquo;恢复模式&amp;rdquo;设置为&amp;ldquo;完整&amp;rdquo;<br>GO<br>ALTER DATABASE test SET RECOVERY FULL<br>GO

windows服务器 sql常用语句 数据库 sqlserver 7794 人围观,发现 776 个赞
sqlserver查询死锁情况语句new
数据库技术

create procedure sp_who_lockasbegindeclare @spid int,@bl int,@intTransactionCountOnEntry int,@intRowcount int,@intCountProperties int,@intCounter int create table #tmp_lock_who (id int identity(1,1),spid smallint,bl smallint)IF @@ERROR<>0 RETURN @@ERRORinsert into #tmp_lock_who(spid,bl) select 0 ,blockedfrom (select * from sysprocesses where blocked>0 ) a where not exists(select * from (select * from sysprocesses where blocked>0 ) b where a.blocked=spid)union select spid,blocked from ...

数据库 sqlserver 7066 人围观,发现 702 个赞
12