SQL °´Ô²éѯ
ÏîÄ¿ÖÐÐèÒª¸ù¾Ý¿Î¼þÃû³Æ°´ÔÂͳ¼Æ³ö·ÃÎʵÄÇé¿ö£¬µÚÒ»´ÎÎÒ²ÉÓÃÁË×îÍÁµÄÒ»ÖÖ°ì·¨£¬Ê¹ÓÃÑ»·£¬¸øsql´«µÝÄêÔÂÁ½¸ö²ÎÊý£¬
for(var y=2009;y<=2010;y++){
for(var m=1;m<=12;m++){
// todo : SQL ²éѯ
}
}
ÕâÑù£¬Í³¼Æ2009Äêµ½2010ÄêµÄÔ±¨±í£¬¾ÍÐèҪѻ·2*12 ´Î£¬Èç¹ûÊý¾Ý¿âÖÐijÔ²¢Î´ÓÐÊý¾Ý£¬ÄÇô¾ÍµÈÓÚÊǰװ×Õ¼Óôø¿íÇëÇó·þÎñÆ÷ÁË¡£
¾¹ýlinchunµÄµã²¦£¬½áºÏ±ù¸ç֮ǰµÄ²éѯ£¬Ê¹ÓÃConvert ºÍDatepart ¼´¿ÉʵÏÖÕâÖÖ²éѯ£¬È»ºóÔÙÔÚǰ̨ͨ¹ýJavaScript´¦ÀíÊý¾Ý¡£
SELECT a.[ID]
,a.[Name]
,fna(a.[ID], CONVERT([datetime],CONVERT([varchar](8),b.[Timestamp],(102))+'01',0) ) as UserCount ,(CONVERT([datetime],CONVERT([varchar](8),b.[Timestamp],(102))+'01',0)) as ReportDate
from [dbo].[lcms_CourseWare] a
inner join [dbo].[lcms_SessionTime] b
on a.[ID] = b.[CourseWareID]
where [State]=1
and [DelFlag]=0
group by (CONVERT([datetime],CONVERT([varchar](8),b.[Timestamp],(102))+'01',0))
,a.[ID],a.[Name]
ÔÚfunction ÖУ¬½ÓÊÕʱ¼ä²ÎÊý£º
CREATE FUNCTION fna(
@CourseWareID varchar(32)
, @ReportDate datetime
)
RETURNS bigint
AS
BEGIN
RETURN (
SELECT COUNT(distinct [UserID])
from [dbo].[lcms_SessionTime]
WHERE CourseWareID = @CourseWareID
and year([Timestamp])=DATEPART(YEAR,@ReportDate)
and month([Timestamp])=DATEPART(MONTH,@ReportDate)
)
END
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
Çå¿ÕÈÕÖ¾£º
dump transaction ¿âÃû with no_log
½Ø¶ÏÈÕÖ¾£º
backup log ¿âÃû with no_log
ѹËõÊý¾Ý¿â£º
dbcc shrinkdatabase (¿âÃû, Ä¿±ê±ÈÂÊ)
ѹËõÊý¾Ý¿âÎļþ£º
dbcc shrinkfile (ÎļþÃû»òID, Ä¿±ê´óС)
ÎļþÃû»òID¿ÉÒÔͨ¹ýϵͳ±ísysfiles²éÕÒ£¬Èç¹û²»Ö¸¶¨Ä¿±ê´óСSQL Server½«×î´óÏ޶ȵÄѹËõÊý¾Ý¿âÎļþ¡£
²é¿´Ñ¹ ......
SQL Server×Ö·û´®´¦Àíº¯Êý´óÈ«
selectÓï¾äÖÐÖ»ÄÜʹÓÃsqlº¯Êý¶Ô×ֶνøÐвÙ×÷£¨Á´½Ósql server£©£¬
select ×Ö¶Î1 from ±í1 where ×Ö¶Î1.IndexOf("ÔÆ")=1;
ÕâÌõÓï¾ä²»¶ÔµÄÔÒòÊÇindexof£¨£©º¯Êý²»ÊÇsqlº¯Êý£¬¸Ä³Ésql¶ÔÓ¦µÄº¯Êý¾Í¿ÉÒÔÁË¡£
left£¨£©ÊÇsqlº¯Êý¡£
select ×Ö¶Î1 from ±í1 where charindex£¨'Ô ......